2014-04-01 39 views
2

我想用winsock創建一個應用服務器。 ,我不知道如何確定如果一個端口是開放的或不如何知道winsock端口是否打開

With AxWinsock1 
     .LocalPort = TextBox1.Text 
     .Listen() 
    End With 
+0

你真的在使用'Winsock'或.NET提供的'System.Net.Sockets'嗎? – Dayan

回答

1

這裏是一個很好的網站,讓你開始Socket編程與VB.NET如果有興趣: http://vb.net-informations.com/communications/vb.net_socket_programming.htm

檢查如果一個端口是開放的,你可以嘗試連接它,如果它拋出一個SocketException,你可以認爲端口是關閉的。

Dim host As String = "localhost" 
Dim port As Integer = 23112 

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