1

C#コンソールでは、アプリケーションはtelnetユーティリティを実行し、必要なポートが開いているかどうかを知る必要があります

   var ping = new Ping();
        var rply = ping.Send("192.168.1.117");
        if (rply.Status == IPStatus.Success)
        {
            Console.WriteLine("up");
            Console.WriteLine("Press any key to continue");
            Console.ReadKey(true);

          }
        else
        {
            Console.WriteLine("down");
            Console.WriteLine("Press any key to continue");
            Console.ReadKey(true);

上記のコードを使用してpingを実行していますが、telnetとポートの場合はどうすればよいですか。コンソールアプリケーションでtelnetユーティリティを実行し、必要なポートが開いていることをユーザーに通知する必要があります。

4

1 に答える 1

6

一般的に、サーバー管理者は、接続してからドロップすることを好みません(ポートが開いているかどうかを確認する唯一の実際の方法)。ただし、それを実行したい場合は、次のことができます。

TcpClient tc = null;
try
{
    tc = new TcpClient("192.168.1.117", 23);
    // If we get here, port is open
} 
catch(SocketException se) 
{
    // If we get here, port is not open, or host is not reachable
}
finally
{
   if (tc != null)
   {
      tc.Close(); 
   }
}
于 2012-10-08T21:40:39.397 に答える