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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

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

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

正在回答

2 回答

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

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

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

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

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

_小豬 提問(wèn)者

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

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

???// 創(chuàng)建輸出流,寫(xiě)入請(qǐng)求信息
???OutputStream out = client.getOutputStream();
???PrintWriter writer = new PrintWriter(out);
???writer.write("用戶名:admin;密碼:123456");
???writer.flush();
???//這行代碼如果沒(méi)有,服務(wù)器讀取數(shù)據(jù)就會(huì)一直阻塞
???client.shutdownOutput();
???// 創(chuàng)建輸入流,接受服務(wù)器響應(yī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("我是客戶端,服務(wù)器說(shuō):"+info);
???}
???//關(guān)閉輸入流
???client.shutdownInput();
???// 關(guān)閉資源
???client.close();

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

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

我要回答 關(guān)注問(wèn)題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)