3
我有一個使用winsock連接到服務器的C++程序,用戶需要定期在很長時間(可能幾周內不需要重新連接)將數據發送到此服務器。winsock連接持續多久?
建立連接時,我發現了很多有關超時的文檔,但我試圖找出建立連接後持續多久。直到任一程序關閉,連接是否持續?我可以連接,然後等待兩個小時發送一些東西?
我有一個使用winsock連接到服務器的C++程序,用戶需要定期在很長時間(可能幾周內不需要重新連接)將數據發送到此服務器。winsock連接持續多久?
建立連接時,我發現了很多有關超時的文檔,但我試圖找出建立連接後持續多久。直到任一程序關閉,連接是否持續?我可以連接,然後等待兩個小時發送一些東西?
沒有明確的連接生存期限制(至少在TCP中)。連接持續到下列之一:
在「現實世界」的互聯網連接通常會在一段時間後強行關閉,特別是如果沒有數據發送。除此之外,根據協議,有些服務器拒絕將連接保持打開狀態(例如http服務器)。
總之:沒有通用的方法來發現連接的生命週期。您完全掌握防火牆,代理(如果適用)和代表服務器。
定期發送一些數據(如保持活動消息)通常會有所幫助。它也有助於檢測到連接已被靜默終止。
只要網絡保持運轉,當然。 – 2012-03-08 19:02:25
直到下一個'補丁星期二':)如果沒有「關鍵安全更新」,連接可能會永遠保持打開狀態,就像@BrianRoach所說。 – 2012-03-09 00:22:22