2012-11-22 28 views
1

我想看看本地主機,計算機上的端口57875是否關閉。 這裏是我到目前爲止的代碼:檢查本地主機VB.Net上的端口57875是否已關閉?

Try 
     Dim checkPort As TcpClient = New TcpClient("localhost", 57875) 
    Catch ex As Exception 
     MsgBox("WARNING: Port 57875 is not forwarded ! The game will probably encounter an error !") 
    End Try 

即使它被轉發,它會認爲事實並非如此。代碼有什麼問題?

+0

是什麼端口轉發的意思嗎?通常,PF意味着您的ROUTER將端口XY傳入(來自WAN)數據包發送到IP_whatever(局域網)和端口YZ(可能與XY相等)。本地連接到YZ端口不告訴你,如果端口(在路由器中)被轉發。 – igrimpe

回答

1

這裏有一個例子:

Dim host As String = "localhost" 

Dim port As Integer = 57875 

Dim addr As IPAddress = DirectCast(Dns.GetHostAddresses(host)(0), IPAddress) 

Try 

    Dim tcpList As New TcpListener(addr, port) 
    tcpList.Start() 

Catch sx As SocketException 
    'Catch exception - No available port 
End Try 
+0

不起作用,如果端口關閉,它仍然會打開。 – user1792742

+0

這是不可能的。我試過了。使telnet到本地主機57875,看看輸出是什麼 –