如果尝试连接

时间:2016-05-28 20:54:41

标签: vb.net sockets tcp freeze ports

我有一个函数可以检查端口是否在某个IP上打开。它通过检查SocketException来实现。我的问题是,如果端口没有打开,它只是冻结。这是我的代码:

Private Function IsPortOpen(ByVal Host As String, ByVal PortNumber As Integer) As Boolean
    Dim Client As TcpClient = Nothing
    Try
        Client = New TcpClient(Host, PortNumber)
        Return True
    Catch ex As SocketException
        Return False
    Finally
        If Not Client Is Nothing Then
            Client.Close()
        End If
    End Try
End Function

我尝试在连接中添加超时,尝试捕获基本Exception,并将其作为错误。仍然做同样的事情。如果能够连接则返回true,但如果不能连接则返回冻结。有任何想法吗?

0 个答案:

没有答案