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