Получить количество открытых сокетов в C #? - PullRequest
6 голосов
/ 10 октября 2010

Я пытаюсь записать количество открытых сокетов в моем приложении на сервере C #.Как информация, которую вы можете получить из "netstat -s":

TCP Statistics for IPv4

  Active Opens                        = 22765
  Passive Opens                       = 9316

Я мог бы проанализировать результат из "netstat" .. но если есть класс для него, то зачем мне ..

Кстати, с помощью класса System.Diagnostics.Process я мог регистрировать несколько дескрипторов и потоков.Я думал, что сокет - это дескриптор, но, похоже, это не так. В моей ситуации количество дескрипторов было намного ниже # активных соединений от netstat.

Будем весьма благодарны за любые предложения, советы или ответы.Спасибо:)

1 Ответ

5 голосов
/ 10 октября 2010

Взгляните на класс TcpStatistics .

Например, свойство TcpStatistics.CurrentConnections возвращает «Число TCP-соединений, для которых текущее состояние либо ESTABLISHED, либо CLOSE-WAIT.»

long result = IPGlobalProperties.GetIPGlobalProperties()
                                .GetTcpIPv4Statistics()
                                .CurrentConnections;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...