Java Socket 死循環while如何判斷客戶端斷開


 

多線程的服務器程序 線程中等待客戶端的消息
    我的代碼能實現服務器與客戶端的通信
    問題是: 當客戶端中斷或退出  以上代碼卻不能判斷Socket中斷 跳不出while的無限循環

 

解決方法:

1.  while(Binput.read()!= -1)  這種方法 能判斷出客戶端輸入是否為空  客戶端斷開 能跳出死循環
                                   
2. 用下面的方法就沒問題了  在死循環中加入以下代碼 
try { 
socket.sendUrgentData(0); 
} catch (IOException e) { 
     done= false;    //如果拋出了異常,那么就是斷開連接了  跳出無限循環


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM