📄 myclient.java
字号:
package client;import java.net.*;import java.io.*;import ct.NetRead;import ct.*;public class MyClient { final int RECEIVE_OUT_PORT=9090;//接收输出端口 final int RECEIVE_IN_PORT=9091;//接收输入端口 PrintWriter m_printWriter;//实现在 PrintStream 中的所有 print 方法 NetRead m_Owner;//定义接口 public MyClient(String str,NetRead netRead) { m_Owner=netRead;//初始化接口 //声名客户机套接字为空 Socket socketIn=null,socketOut=null; Thread readThread=null;////用来读对方传来数据的线程 try { socketOut=new Socket(str,RECEIVE_OUT_PORT);//读取输出套接字对象 socketIn=new Socket(str,RECEIVE_IN_PORT);//读取输入套接字对象 showMessage("已连接到服务器......"); readThread=new ReadThread(socketIn,this); //生成serverThread的实例 readThread.start(); //启动serverThread线程 //使用指定的 charset 将要向其写入的字符编码为字节 OutputStreamWriter writer=new OutputStreamWriter(socketOut.getOutputStream()); m_printWriter=new PrintWriter(writer,true); // writeStr("hahahhaha"); } catch(Exception e) { System.out.println("连不上服务器捏!!!"); } } public static void main(String[] args) { // MyClient myClient1 = new MyClient("sxf"); } /** * 当数据来的时候调用 * @param str 读进来的数据 */ protected void readStr(String str) {//调用重载NetRead中的readStr()方法 System.out.println(str); m_Owner.readStr(str); // System.out.println("KKKKK读取字符串呢 啊哈哈哈哈!!!!!!!!"); } /** * 往对方写东西 * @param str 要写的东西 * @return 若写成功,则返回真 */ public boolean writeStr(String str) { if(m_printWriter==null)return false; try { // System.out.println("KKKKK写入数据楼 后后!!!!!!!!!!!!!!!!!!!!!"); m_printWriter.println(str);//打印 String,然后终止该行 m_printWriter.flush();//刷新该流的缓冲 } catch(Exception e) { return false; } return true; } /** * 用来显示不是对方发过来的消息 */ public void showMessage(String str) { //调用重载NetRead接口中showMessage方法 m_Owner.showMessage(str); // System.out.println("KKKKKKKKK显示字符串捏,呵呵!!!!!!!!!!!!"); } public void close() { //关闭套接字 m_printWriter.close(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -