2013-03-07 79 views
6

在Windows(Vista和更高版本)中,是否有一種方法或工具可以幫助確定現有的,已建立的傳出TCP連接,它是使用SO_KEEPALIVE創建的選項。確定現有連接是否在Windows下使用TCP KeepAlive

在Unix平臺上,通常可以看到使用netstat(即。'netstat -o'將爲KEEPALIVE顯示一個單獨的列)。

Windows上的Netstat沒有此功能。我測試過的其他Microsoft/SysInternals網絡工具也不是。

我似乎無法找到可以提供此信息的工具。

情景是:在Windows 2008 R2服務器上運行的應用程序需要在其建立的所有連接上啓用TCP保持活動。某些應用程序沒有選項來啓用TCP keepalive,並且我需要某種方式來確定它是否默認情況下爲這些應用程序啓用。

需要說明的是:我需要一些工具或者關於如何編程工具的建議,它顯示了現有的winsock連接是否啓用了TCP Keepalive。雖然還有其他方法可以確定(例如嗅探流量並查看是否發送Keepalive數據包),但它們都具有不確定性。另外,我們正在討論很多服務器和許多應用程序。

回答