亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

運行效果實現了,但是運行為什么會報錯呢?java.net.SocketException: Socket is closed

https://img1.sycdn.imooc.com//5b0a357e0001031409520628.jpgjava.net.SocketException: Socket is closed

正在回答

3 回答

你把socket.shutdownInput寫到While結構的后面,就不會出現了。同樣的Client也是,我猜測:socket的這個方法,是優先級高的,應該先關掉,如果后置,就會重新檢驗Outputstream等等,結果,就悲劇了。

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

艾米麗宏 提問者

我是寫到while后面的噠!
2018-05-28 回復 有任何疑惑可以回復我~
#2

qq_星河k_0 回復 艾米麗宏 提問者

我的意思是緊跟在while后面,在br.close()之前.
2018-05-29 回復 有任何疑惑可以回復我~
#3

艾米麗宏 提問者

非常感謝!
2018-05-29 回復 有任何疑惑可以回復我~

你寫了兩次shutdownoutputstream

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

因為你沒有判斷是socket是不是已經關閉了,你的socke它已經is closed,它就為空,你就不用再關了,但它不影響上面的代碼

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

艾米麗宏 提問者

為什么老師演示的那個案例就不會提示呢?也沒有判斷是否關閉?我的服務端是運行的,接收客服端消息之后才會關閉socket,不應該提醒吧?
2018-05-28 回復 有任何疑惑可以回復我~
#2

no4990 回復 艾米麗宏 提問者

老師沒有在最后關閉資源的時候關閉inputStream,而你關閉了,而且你關閉之前沒有檢查是否已經關閉。
2019-07-08 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

運行效果實現了,但是運行為什么會報錯呢?java.net.SocketException: Socket is closed

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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