Я создаю небольшой инструмент, который позволяет мне проверять состояние портов с указанным IP и номером порта следующим образом:
private void ScanPort(IPAddress address, int port)
{
using (TcpClient client = new TcpClient())
{
try
{
client.Connect(address, port);
txtDisplay.AppendText("Port: " + nudFrom.Value.ToString() +
" is open." + Environment.NewLine);
}
catch (SocketException)
{
txtDisplay.AppendText("Port: " + nudFrom.Value.ToString() +
" is closed." + Environment.NewLine);
}
}
}
Проблема в том, что когда порт открыт, проверка занимает около секунды, а если порт закрыт, процесс занимает около 20 секунд.
Как ускорить проверку открытых / закрытых портов?