Java的socket编程中关于bufferedWriter的发送问题

1 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));  
2 String send = scanner.nextLine()+"\n"; 
3 System.out.println("客户端已发送:" + send); 
4 bw.write(send); 
5 bw.flush();

今天写socket通信的题目的时候,题目要求使用bufferedWriter来发送数据。

第一次写的时候第二行代码写的是  String send = scanner.nextLine(); 

但是服务器端总接收不到信息,但是使用socket.shutdownOutputStream();可以在服务器端成功接收到消息。

经查询,使用bufferedWriter的时候,发送方是以\n和\r来判断一行的结束,需要发送数据时手动添加换行符。

否则,会认为一行没有读取到结束的位置,不会把缓存区的数据发送。

 
posted @ 2018-06-20 16:03  陆卯伍  阅读(1393)  评论(0编辑  收藏  举报