import java.io.*;import java.net.*;public class ChatServer { public static void main(String []args) { try { ServerSocket ss = new ServerSocket(6888); Socket so = ss.accept(); BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream())); BufferedReader brs = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(so.getOutputStream())); String s = br.readLine(); System.out.println("Client" + s); String c = null; while(s != "exit") { System.out.println("Client : " + s); c = brs.readLine(); bw.write(c); bw.flush(); System.out.println("Server : " + c); s = br.readLine(); } System.out.println("Chat Over"); br.close(); brs.close(); bw.close(); } catch(Exception e) {} } }我的一个小程序,上面是serverimport java.io.*;import java.net.*;public class ChatClient { public static void main(String []args) {这是client,其实就是一个简单的,白痴的对话器,但是我怎么调试也不对,编译通过了,但是运行的时候一直卡在那里,感觉是io出问题了,大师们劳烦看看呗。非常感谢,实在是自己看不出来了。。。。。
1 回答
aluckdog
TA贡献1847条经验 获得超7个赞
不是一定要用Print,你原来那么写也是可以的,只不过你传输的数据中得有回车符("\r\n")
你原来写的bw.write(c)是没有换行符的,所以改成bw.write(c+"\r\n"),服务端readLine()就能读到,readLine是按行读取的,没有"\r\n"的话就识别不了,读不出来数据;所以客户端其实是发送出去数据了,只不过服务端没有读出来
添加回答
举报
0/150
提交
取消