2个回答
2016-06-16 · 知道合伙人软件行家
关注
展开全部
这个原因主要有两方面:
(1)客户端接收消息时使用的是readLine()方法,而服务器端发送消息时使用的是write方法,这样的话,接收方是有换行标记的,而发送方法没有,容易发生无法获取数据,所以,可以在服务器端添加换行标记,代码如下:
writer.write("欢迎" + "\n");
(2)客户端接收方在读取信息时,已经使用了bf.readLine(),那么该方法执行后就会把服务器端的所有信息一下读取完毕,而当while时,读取的内容必然为空,所以可以把while循环取消,代码如下:
String content = reader.readLine();
// while (reader.readLine() != null) {//去掉注释的两行代码即可
System.out.println(content);
// }
(1)客户端接收消息时使用的是readLine()方法,而服务器端发送消息时使用的是write方法,这样的话,接收方是有换行标记的,而发送方法没有,容易发生无法获取数据,所以,可以在服务器端添加换行标记,代码如下:
writer.write("欢迎" + "\n");
(2)客户端接收方在读取信息时,已经使用了bf.readLine(),那么该方法执行后就会把服务器端的所有信息一下读取完毕,而当while时,读取的内容必然为空,所以可以把while循环取消,代码如下:
String content = reader.readLine();
// while (reader.readLine() != null) {//去掉注释的两行代码即可
System.out.println(content);
// }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询