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

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

 

相关文章:

  • 2022-12-23
  • 2022-02-08
  • 2021-11-16
  • 2021-05-13
  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-04
  • 2023-04-11
  • 2022-01-16
  • 2022-12-23
  • 2021-07-01
  • 2022-12-23
  • 2022-03-07
相关资源
相似解决方案