如何检查远程IP和端口?

use*_*471 9 .net c# networking tcp winforms

我必须检查远程IP和端口是否可用.如果它可用,它将移动到下一个表单.如果没有,它应该进入初始状态.我试过使用这个

while (true)
{
    IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
    IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners();
    -------
    -------
    -------
}
Run Code Online (Sandbox Code Playgroud)

我正在显示示例coding.it正在检查本地IP和端口并转移到下一个form.it将检查本地端口和IP是否可用.如果端口和IP不可用它将进入初始阶段并且它工作正常.我必须检查远程端口和IP.

Tau*_*eef 27

使用Ping.NET类来查明系统是否已启动并连接,使用它 PortScanner来检查端口是否打开.查看这些链接以进一步阅读和探索.

http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping%28v=vs.110%29.aspx

http://social.msdn.microsoft.com/Forums/vstudio/en-US/8e4410bd-307f-4264-9575-cd9882653945/help-with-portscanner-in-c?forum=csharpgeneral

要么

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这正是我想要的!只有一个想法:`TcpClient`实现`IDisposable`所以你可以这样做:`using(TcpClient client = new TcpClient(_adress,port)){return true; }` (6认同)