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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

java為什么flush( )方法不能輸出數(shù)據(jù),一定要close( )才行?

java為什么flush( )方法不能輸出數(shù)據(jù),一定要close( )才行?

一只斗牛犬 2019-05-03 09:15:30
服務(wù)端:ServerSocket ss=new ServerSocket(40006);while(true){Socket s=ss.accept();OutputStream os=s.getOutputStream();os.write("北京".getBytes());os.flush();//這里改成os.close( ),客戶端就能讀到,這是為什么?。縸客戶端:try {Socket s=new Socket("192.168.0.110",40006);InputStream ins=s.getInputStream();BufferedReader br=new BufferedReader(new InputStreamReader(ins));String line;while((line=br.readLine())!=null){System.out.println(line);}
查看完整描述

6 回答

?
千巷貓影

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

知道了,BufferedReader是根據(jù)“\n”或者“\r”來判斷一行的,而這里的服務(wù)端根本就沒有輸入這兩個(gè)符號(hào),也許close()方法會(huì)自動(dòng)給它加上吧。如果服務(wù)端手動(dòng)給它加上這兩個(gè)符號(hào)中的一個(gè),就可以讀出來了。


查看完整回答
反對(duì) 回復(fù) 2019-05-06
?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊

flush是輸出到緩沖區(qū),緩沖區(qū)沒滿的話不發(fā)送,close的動(dòng)作會(huì)強(qiáng)制把緩沖區(qū)里沒發(fā)送的東西發(fā)送出去


查看完整回答
反對(duì) 回復(fù) 2019-05-06
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

close連套接字都關(guān)閉了,當(dāng)然出來了,flush只是清理緩沖區(qū)。而且你這個(gè)用了緩沖流也沒建立緩沖啊


查看完整回答
反對(duì) 回復(fù) 2019-05-06
?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

OutputStream 這個(gè)類的flush()方法不執(zhí)行任何代碼,需要其他的輸出流去重寫這個(gè)方法的


查看完整回答
反對(duì) 回復(fù) 2019-05-06
?
明月笑刀無情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊

客戶端的readline是阻塞的,只有讀到尾部才會(huì)返回null,你在服務(wù)器端不調(diào)用close,socket沒有關(guān)閉,那么客戶端的readline就一直阻塞在那(也沒有讀到一行),所以沒有輸出


查看完整回答
反對(duì) 回復(fù) 2019-05-06
  • 6 回答
  • 0 關(guān)注
  • 1485 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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