次のように、特定の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);
}
}
}
問題は、ポートが開いている場合、チェックに約1秒かかり、ポートが閉じている場合、プロセスに約20秒かかることです。
開いている/閉じているポートのチェックをすばやく行うにはどうすればよいですか?