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