socket的客戶端判斷連接是否正常

 

    socket類的方法中 isClosed()、isConnected()、isInputStreamShutdown()、isOutputStreamShutdown()等,這些方法都是本地端的狀態,無法判斷遠端是否已經斷開連接,如果遠程服務器把socket關閉了,這些狀態都沒有任何的變化。

 

方法sendUrgentData,客戶端它會往輸出流發送一個字節的數據,只要對方Socket的SO_OOBINLINE屬性沒有打開,就會自動捨棄這個字節,而SO_OOBINLINE屬性默認情況下就是關閉的,     於是,下面一段代碼就可以判斷遠端是否斷開了連接:

       socket.sendUrgentData(0xFF);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章