リモートIPとポートが使用可能かどうかを確認する必要があります。使用できる場合は次のフォームに移動します。使用できない場合は初期状態になるはずです。これを使用してみました
while (true)
{
IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners();
-------
-------
-------
}
コーディングの例を示しています。ローカルIPとポートをチェックして次のフォームに移動していました。ローカルポートとIPが使用可能かどうかをチェックします。ポートとIPが使用できない場合は、初期段階で正常に機能していました。リモートポートとIPをチェックインする必要があります。
.NETのPing
クラスを使用してシステムが起動して接続されているかどうかを確認し、PortScanner
を使用してポートが開いているかどうかを確認します。これらのリンクをチェックして、さらに読んだり探索したりしてください。
http://msdn.Microsoft.com/en-us/library/system.net.networkinformation.ping%28v=vs.110%29.aspx
OR
public static bool PingHost(string hostUri, int portNumber)
{
try
{
using (var client = new TcpClient(hostUri, portNumber))
return true;
}
catch (SocketException ex)
{
MessageBox.Show("Error pinging Host:'" + hostUri + ":" + portNumber.ToString() + "'");
return false;
}
}