[英]How to detect the server disconnection to the client immediately in Java(Android) socket communication
我正在進行套接字編程。 有什么方法可以立即檢測到服務器與客戶端的斷開連接。
我使用了socket.isConnected,isBound方法,但是沒有得到很好的結果。
我試圖從流中連續讀取數據以進行檢查,但是它阻止了數據是否不可用或是否從服務器返回,並且我不想編寫垃圾數據來每次發送以檢查與服務器的連接。
請提出任何建議。
這取決於您使用的套接字類型。 即使這樣,也不可避免地要為您的特定目的實現保持活動的機制。
默認的TCP保持活動機制每2小時(!)檢查一次連接是否仍然存在。 可以更改此默認值,但它可能不起作用。 看到:
另一方面,UDP是無狀態的。 沒有連接。 應該解釋socket.isConnected()的上下文是它是否綁定到本地端口。
對於UDP,絕對要求來回發送ping / pongs以確定連接性。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.