關(guān)于bye的socket close exception
上面的多線程的時候就發(fā)現(xiàn)輸入bye會有異常,然而沒有調(diào)試出來。一路學(xué)到這里,發(fā)現(xiàn)還是不行。一直拋這個異常,顯示的是下面這里拋出異常。
while?((response?=?reader.readLine())?!=?null)?{
因為是在新線程,在調(diào)用這個新線程方法 前 以及方法內(nèi)判斷socket是否關(guān)閉,都無法阻止這個異常。。。要瘋啦_(:зゝ∠)_
2019-10-11
我調(diào)試分析了一下主要可能是因為客戶端開啟了接收服務(wù)器消息的線程中傳入了reader,導(dǎo)致主線程在reader.close()時結(jié)束不掉并且阻塞在了那里,所以無法執(zhí)行后面的socket.close(),從而socket連接仍然保持著。具體怎么解決我還要再想一下
2019-10-11
遇到了同樣的問題
2016-01-05
此處關(guān)于多線程的問題,我在2-3的問答做了跟進。
但是此處的mina框架也有關(guān)于bye的輸入問題。在while循環(huán)后我加了session.close(),但是log里只有顯示會話已經(jīng)關(guān)閉,但是程序還在運行,這個是怎么回事呢