簡體   English   中英

Windows套接字

[英]Windows sockets

Windows是否會關閉空閑的套接字? 我的意思是,如果我是連接到Windows服務器上的服務的客戶端,則Windows服務器是否有可能在特定的空閑時間后關閉連接?

如果是,如何更改此行為,或者至少更改空閑時間值?

提前致謝。

該行為取決於SO_KEEPALIVE套接字選項。 這是關於它的MSDN頁面。 經過進一步的挖掘后,您可以使用WSAIoctl和SIO_KEEPALIVE_VALS控制代碼來調整KEEPALIVE語義。

我發現,如果您控制兩端,通常最好將Keepalive消息作為用於客戶端和服務器之間通信的協議的一部分來實現,而不要依賴SO_KEEPALIVE。

我想這取決於協議,實現以及服務器配置。

PuTTY可以選擇通過定期向服務器發送空數據包來防止SSH會話超時-我懷疑這是一個沒有實際有效負載的簡單數據包。 也許您可以實現這樣的事情?

MSDN上,您會發現默認的keep-alive超時設置為2小時。 您也許可以通過使用setsockopt / SO_SNDTIMEO / getsockopt來操縱它

暫無
暫無

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

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