我有一個小型的服務器/客戶端測試程序,我通過使用TCP/IP的無線鏈接運行,我注意到wireshark由於高延遲而收到很多重傳。如何增加我的程序在嘗試重傳之前等待ACK的窗口?在C中設置TCP重傳超時
更新的操作系統: 服務器運行Linux,客戶端是在Windows
我有一個小型的服務器/客戶端測試程序,我通過使用TCP/IP的無線鏈接運行,我注意到wireshark由於高延遲而收到很多重傳。如何增加我的程序在嘗試重傳之前等待ACK的窗口?在C中設置TCP重傳超時
更新的操作系統: 服務器運行Linux,客戶端是在Windows
在Linux中,你可以嘗試用TCP_WINDOW_CLAMP
和http://lxr.linux.no/linux+v2.6.30/include/linux/tcp.h#L85其他選項播放。他們可以通過使用setsockopt
(man 3 setsockopt)來設置,我想。
肯定這個問題需要一些澄清。
IMO,最好的解決方案應該是切換到異步套接字。這種方式超時處理是你的。
什麼是操作系統?這種機制可能在OS-es之間有所不同。 – tsg 2009-08-05 10:36:02