Лучший способ проверить, активно ли соединение TCP - PullRequest
4 голосов
/ 31 марта 2009

Учитывая список IP-адресов, как программно проверить, есть ли на локальном компьютере все еще активные TCP-соединения с этими IP-адресами? Я использую C #.

Ответы [ 3 ]

6 голосов
/ 31 марта 2009
using System.Net.NetworkInformation    

IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] tcpInfoList = properties.GetActiveTcpConnections();
0 голосов
/ 31 марта 2009

Я не совсем понимаю вопрос, но в случае, если у вас есть список адресов с программным обеспечением, которое прослушивает некоторые порты, попробуйте подключиться к нему, используя, например,. Класс сокета:

Socket m_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
m_Socket.Connect(serverEndPoint);

и в конце концов попытаться поймать исключение ...

Если в вашем коде уже установлено соединение, вы можете проверить свойство m_Socket.Connected ..

0 голосов
/ 31 марта 2009

Позвоните GetExtendedTcpTable и проверьте в списке ваши целевые адреса

...