53 try {
54 while (true) {
55 info = dis.readUTF();
56 System.out.println("对方说: " + info);
57 if (info.equals("bye")) {
58 System.out.println("对方下线,程序退出!");
59 System.exit(0);
60 }
61 }
62 } catch (IOException e) {
63 e.printStackTrace();
64 }
65 }
66 }
67
68 // 从键盘获得输入流并写入信息到服务器端
69 class MyClientWriter extends Thread {
70 private DataOutputStream dos;
71
72 public MyClientWriter(DataOutputStream dos) {
73 this.dos = dos;
74 }
75
76 public void run() {
77 InputStreamReader isr = new InputStreamReader(System.in);
78 BufferedReader br = new BufferedReader(isr);
79 String info;
80 try {
81 while (true) {
83 dos.writeUTF(info);
84 if (info.equals("bye")) {
85 System.out.println("自己下线,程序退出!");
86 System.exit(0);
87 }
88 }
89 } catch (IOException e) {
90 e.printStackTrace();
91 }
92 }
93 }
客户端运行效果:
1 这是客户端
2 我是hongten
3 这是我说的第三句话,haha
4 对方说: 我是服务器端,这说我说的第一句话,hehe
服务器端运行效果:
1 对方说: 这是客户
2 对方说: 我是hongten
3 对方说: 这是我说的第三句话,haha
4 我是服务器端,这说我说的第一句话,hehe
程序中加入了多线程后,不管是服务器端,还是客户端,都可以连续的说话,另一边连续的听...
摘自 Hongten