2010-10-10 50 views
6

我正在嘗試記錄我的C#服務器應用程序中打開套接字的數量。 像信息,你可以從「netstat的-s」得到:在C#中獲取一些打開的套接字?

TCP Statistics for IPv4 

    Active Opens      = 22765 
    Passive Opens      = 9316 

我可以從「netstat的」解析結果..但如果有它的一類,那麼爲什麼我..

順便說一句,藉助System.Diagnostics.Process類,我可以記錄多個句柄和線程。 我認爲一個套接字是一個句柄,但它似乎不是.. 在我的情況下,#的句柄是從netstat活動連接#下方。

任何意見,建議或答案將不勝感激。 謝謝:)

回答

5

看看TcpStatistics Class

例如,TcpStatistics.CurrentConnections Property返回「當前狀態爲ESTABLISHED或CLOSE-WAIT的TCP連接的數量」。

long result = IPGlobalProperties.GetIPGlobalProperties() 
           .GetTcpIPv4Statistics() 
           .CurrentConnections; 
+0

你搖滾!!!謝謝:) – wooohoh 2010-10-10 18:27:58

+3

順便說一句,對於那些不想查找鏈接的人來說......它是System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties()。GetTcpIPv4Statistics() – wooohoh 2010-10-10 18:29:40

+0

在.Net精簡版3.5中不可用。 – Martlark 2016-04-07 01:57:20