Как проверить порт на занятость? - C#

Узнай цену своей работы

Формулировка задачи:

Так:
            IPAddress localAddr = IPAddress.Parse(ip);
            try
            {
                TcpListener server = new TcpListener(localAddr, port1);
                server.Start();
                p1free = true;
                server.Stop();
            }
            catch (Exception x)
            {
                p1free = false;
            }
Но если port1 назначить одним из тех, которые видно в мониторе ресурсов, скайпа или кипа например, то он может оказаться свободным! Как такое может быть(я выбирал только те, что TCP)? вероятность 50/50.

Решение задачи: «Как проверить порт на занятость?»

textual
Листинг программы
            IPGlobalProperties igp =  IPGlobalProperties.GetIPGlobalProperties();
            TcpConnectionInformation[] tinfo = igp.GetActiveTcpConnections();
foreach (TcpConnectionInformation tcpi in tinfo)
 {
   if (tcpi.LocalEndPoint.Port==myport)
   {
     порт занят
   }
 }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы