[英]Winsock - Reconnecting client to server basics - TIME_WAIT
我有一個TCP服務器/客戶端設置,他們以我通常想要的方式進行通信。
我現在要做的是添加一些功能,允許客戶端在連接丟失后自動重新連接到服務器。 我無法在線查找有關如何執行此操作的完整信息。
詳細信息: - 我只有1台服務器,到目前為止它最多只能承載1個連接。 - 當客戶端或服務器斷開連接時 - 兩者都關閉(關閉服務器和客戶端的套接字是否合理?)
理想情況下,我希望客戶端每次都能夠重新連接到服務器上的同一端口。 我理解TIME_WAIT以及為什么有必要。 除非我沒有其他選項,否則我真的不想使用SO_REUSEADDR。 這通常如何處理? 我是否應該在服務器端打開一個新端口,同時它等待舊套接字完成TIME_WAIT並且基本上在兩個端口之間交替(這意味着客戶端必須跟蹤2個可能的端口)?
謝謝你的建議!
TIME_WAIT是TCP連接的狀態,而不是端口。 每個TCP連接都由元組(本地地址,本地端口,遠程地址,遠程端口)標識。 因此,如果客戶端使用新的(動態)本地端口連接到服務器,則會創建新的TCP連接,並且不會出現TIME_WAIT。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.