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来判断一行的结束,需要发送数据时手动添加换行符。

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM