關於socket tcp 斷線重連

2021-09-20 13:34:28 字數 687 閱讀 7417

這個問題困擾過我幾次,都沒有來得及研究,今天研究一下。

測試表明

(1)客戶端已經連線,當服務端關閉程式時,客戶端呼叫send函式傳送失敗,wsagetlasterror() 返回10054(遠端主機強迫關閉了乙個現有的連線) 

(2)客戶端已經連線,當客戶端關閉程式時,服務端呼叫recv函式接收失敗,wsagetlasterror() 返回10054(遠端主機強迫關閉了乙個現有的連線) ,這時對這個客戶端的socket呼叫select函式時,會立即返回可讀。

(3)客戶端已經連線,當服務端關閉程式時,客戶端呼叫recv函式接收失敗,wsagetlasterror() 返回10054

(4)wsaasyncselect模式的服務端,當客戶端軟體關閉時,伺服器收到的訊息為fd_close,錯誤**為10053(您的主機中的軟體中止了乙個已建立的連線)

粗略的做法是,當客戶端呼叫send或recv失敗,然後wsagetlasterror()判斷錯誤編號,然後關閉socket。再建立乙個socket。然後進行connect操作。

下面附上我寫的乙個基於socket流式套接字的原始碼服務端支援一對多聊天。socket相關通訊都是用windows api。用於新手學習之用。

出處:張東公升

關於socket tcp 斷線重連

這個問題困擾過我幾次,都沒有來得及研究,今天研究一下。測試表明 1 客戶端已經連線,當服務端關閉程式時,客戶端呼叫send函式傳送失敗,wsagetlasterror 返回10054 遠端主機強迫關閉了乙個現有的連線 2 客戶端已經連線,當客戶端關閉程式時,服務端呼叫recv函式接收失敗,wsage...

websocket 斷線重連

摘要websocket reconnect websocket是html5發布之後出現的一種新技術,說它是新技術,其實也不是多新的技術了,因為畢竟也有2 3年了,但是找了很多國內的例項,缺發現不多,不知道是它不好用呢,還是說這種技術原來就有缺陷呢,咱們暫且不說,今天我們就來介紹一下websocket...

斷線重連機制

zookeeper的客戶端具有自動重連機制,當出現網路異常時,客戶端會自動重連直到與集群中的某台機器連線成功,連線過程如下圖所示 1.網路異常情況包括網路閃斷 zk伺服器宕機等情況,這會導致連線斷開connection loss,此時客戶端會收到事件none disconnected 2.如果在se...