1 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); 2 String send = scanner.nextLine()+" "; 3 System.out.println("客户端已发送:" + send); 4 bw.write(send); 5 bw.flush();
今天写socket通信的题目的时候,题目要求使用bufferedWriter来发送数据。
第一次写的时候第二行代码写的是 String send = scanner.nextLine();
但是服务器端总接收不到信息,但是使用socket.shutdownOutputStream();可以在服务器端成功接收到消息。
经查询,使用bufferedWriter的时候,发送方是以 和 来判断一行的结束,需要发送数据时手动添加换行符。
否则,会认为一行没有读取到结束的位置,不会把缓存区的数据发送。