Рубрики
Разработка

Проверка порта на доступность TCP/IP C#

При работе с TCP иногда возникает задач проверить доступность порта открыт или закрыт, используется или свободен особенно это актуально для ммо игр или серверов на которых используется куча сервисов, ниже пример кода как можно проверить доступность порта:

        /// <summary>
        /// Проверка порта на доступность 
        /// </summary>
        /// <param name="port">Проверяемый порт</param>
        /// <returns></returns>
        private static bool checkPortAvailable(int port)
        {
            IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
            TcpConnectionInformation[] tcpConnInfoArray = ipGlobalProperties.GetActiveTcpConnections();
            foreach (TcpConnectionInformation tcpi in tcpConnInfoArray)
            {
                if (tcpi.LocalEndPoint.Port == port)
                {
                    return false;
                }
            }
            return true;
        }