簡體   English   中英

Socket.IO 恢復斷開的連接

[英]Socket.IO Restoring a broken connection

在客戶端-服務器應用程序中,我在一個單獨的線程中向服務器發送一個字符串:

dataOutputStream.writeUTF(_dos);
dataOutputStream.flush();

但是我進入了另一個線程 java.net.SocketException: Connection reset 的行:

mes = dataInputStream.readUTF();

同時,服務器沒有收到任何東西(我在wireshark中檢查了這個)並繼續監聽套接字。

問題是:如果客戶端套接字損壞,但服務器套接字正在工作,是否有可能恢復客戶端套接字的操作,從而恢復客戶端-服務器連接,而不重新啟動兩者?

連接消失了。 在客戶端,您將需要再次連接。

一般來說,TCP 實現不允許您在已斷開連接的套接字上發出連接。 您可以嘗試,但最安全的是創建一個新的套接字對象。 即使它對您有用,結果也可能是不可移植的。

服務器當然也有一個失效連接上的套接字,所以它需要關閉它的結束。 將在“接受”來自客戶端的新連接時創建一個新套接字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM