Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 向Ping添加端口_Vb.net - Fatal编程技术网

Vb.net 向Ping添加端口

Vb.net 向Ping添加端口,vb.net,Vb.net,我正在使用VB.net ping一个域/IP,使用以下代码 My.Computer.Network.Ping(Address, 1000) 我现在想在域/IP中添加一个端口-例如google.co.uk:21 我该怎么做?您不能ping端口,但可以尝试使用TCP/IP或UDP连接到特定端口。端口概念属于协议栈的传输层(TCP或UDP),而ping位于较低的网络层(ICMP协议)。您不知道,因为ping不是这样工作的。ICMP协议中没有端口的概念 如果要查看服务器上的端口是否打开,必须尝试使用T

我正在使用VB.net ping一个域/IP,使用以下代码

My.Computer.Network.Ping(Address, 1000)
我现在想在域/IP中添加一个端口-例如google.co.uk:21


我该怎么做?

您不能ping端口,但可以尝试使用TCP/IP或UDP连接到特定端口。端口概念属于协议栈的传输层(TCP或UDP),而ping位于较低的网络层(ICMP协议)。

您不知道,因为ping不是这样工作的。ICMP协议中没有端口的概念

如果要查看服务器上的端口是否打开,必须尝试使用TCP或UDP(取决于该服务器预期的协议)连接到该端口。没有其他方法可以检查打开的端口。

您可以使用此功能测试端口是否“打开”:

Function CheckPortOpen(ByVal hostname As String, ByVal portnum As Integer) As Boolean

    Dim ipa As IPAddress = CType(Dns.GetHostAddresses(hostname)(0), IPAddress)

    Try
        Dim sock As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
        Console.WriteLine("Testing " & hostname & ":" & portnum)
        sock.Connect(ipa, portnum)
        If (sock.Connected = True) Then
            sock.Close()
            sock = Nothing
            Return True
       End If

    Catch sx As SocketException
        If sx.ErrorCode = 10061 Then
            Return False
        Else
            Return Nothing
        End If

    End Try

End Function

啊,谢谢你的帮助,我更喜欢代码和GUI设计,对TCP/IP等没有感觉。谢谢堆栈溢出!!