Обсуждаю это недавно.Попытка подключить SSH-туннель от локального порта на моей машине к внутреннему порту на другой стороне доступного через Интернет SSH-сервера с помощью Putty.Putty не проверяет, доступен ли порт.Прежде чем открывать соединение Putty, я хотел бы убедиться, что порт свободен.
Он работает нормально, если порт доступен, но мне нужен надежный пожарный способ, чтобы гарантировать, что порт не открыт в то время, когда япроверьте это в моем коде.Я использовал различные методы с плохими результатами.В настоящее время я использую следующий код:
bool IsBusy(int port)
{
IPGlobalProperties ipGP = IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] endpoints = ipGP.GetActiveTcpListeners();
if (endpoints == null || endpoints.Length == 0) return false;
for (int i = 0; i < endpoints.Length; i++)
if (endpoints[i].Port == port)
return true;
return false;
}
У меня установлен uTorrent на компьютере.Когда я пытаюсь использовать порт 3390, происходит сбой, потому что uTorrent прослушивает этот порт через TCP.Есть ли способ убедиться, что TCP не используется на данном порту?