第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

客戶端輸出流是否shutdownOutput()會不會對程序造成異常?

我在練習的時候客戶端請求信息時若未調用shutdownOutput()方法,服務器讀取數(shù)據(jù)時會出現(xiàn)阻塞現(xiàn)象,導致后面代碼無法執(zhí)行...... 有沒有大神給我指點下???

正在回答

2 回答

如果代碼整體還是這樣只做測試之用,那我的建議有兩個:

  1. 在writer.write("用戶名:admin;密碼:123456");中輸出的字串結尾手動加上換行符,變成writer.write("用戶名:admin;密碼:123456\n");或writer.write("用戶名:admin;密碼:123456\r");

  2. 將writer.write("用戶名:admin;密碼:123456");這個方法改為java.io.PrintWriter.println()這個方法,即改為writer.println("用戶名:admin;密碼:123456");

我認為以上兩種方法均可不必加上client.shutdownOutput();這句代碼。

2 回復 有任何疑惑可以回復我~
#1

_小豬 提問者

非常感謝!
2016-07-09 回復 有任何疑惑可以回復我~

// 創(chuàng)建客戶端Socket
???Socket client = new Socket("localhost", 8888);

???// 創(chuàng)建輸出流,寫入請求信息
???OutputStream out = client.getOutputStream();
???PrintWriter writer = new PrintWriter(out);
???writer.write("用戶名:admin;密碼:123456");
???writer.flush();
???//這行代碼如果沒有,服務器讀取數(shù)據(jù)就會一直阻塞
???client.shutdownOutput();
???// 創(chuàng)建輸入流,接受服務器響應信息
???InputStream in = client.getInputStream();
???InputStreamReader inr = new InputStreamReader(in);
???BufferedReader reader = new BufferedReader(inr);
???String info = null;
???while ((info = reader.readLine()) != null) {
????System.out.println("我是客戶端,服務器說:"+info);
???}
???//關閉輸入流
???client.shutdownInput();
???// 關閉資源
???client.close();

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

客戶端輸出流是否shutdownOutput()會不會對程序造成異常?

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號