簡體   English   中英

TCP 服務器掛起,不響應 SYN

[英]TCP server hangs, not responding to SYN

我的 TCP 服務器有一個奇怪的問題,有時會掛起。 奇怪的問題是當它掛起時沒有收到任何新的連接,即沒有響應初始的 TCP SYN 數據包。 我很確定,由於 TCP 握手由 kernel 處理,即使程序掛起,客戶端至少仍應接收初始 SYN,ACK。 如果有人知道程序可能以某種方式掛起,從而阻止操作系統完成 TCP 握手(並且沒有關閉監聽套接字),請告訴我。

PS 程序是用 C++ 編寫的,操作系統是 Windows Server 2016。

很可能,偵聽隊列已滿。 不響應初始 SYN 會導致對方稍后再嘗試另一個 SYN。 運氣好的話,那個時候監聽隊列不會滿的。 該程序可能沒有足夠頻繁地調用accept (或一些類似的函數)。

程序也可能正在使用選擇性接受功能(請參閱WSASelectlpfnCondition參數)來選擇不響應此連接嘗試。

暫無
暫無

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

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