Hallo zusammen,
ich versuche eine Funktion zu schreiben welche mir prüft ob ein Port an einem Netzwerkrechner offen ist. Wenn der Rechner nicht erreichbar ist wird aber eine Exception generiert und das Programm beendet.
Habe nur wenig Erfahrung mit Sockets und Thread und konnte den Fehler nicht finden. Auch über die Suche habe ich nichts gefunden was mir weiterhilft, hat evtl. jemand eine Idee und kann mir helfen?
Vielen Dank im Voraus!
ich versuche eine Funktion zu schreiben welche mir prüft ob ein Port an einem Netzwerkrechner offen ist. Wenn der Rechner nicht erreichbar ist wird aber eine Exception generiert und das Programm beendet.
Habe nur wenig Erfahrung mit Sockets und Thread und konnte den Fehler nicht finden. Auch über die Suche habe ich nichts gefunden was mir weiterhilft, hat evtl. jemand eine Idee und kann mir helfen?
Vielen Dank im Voraus!
Quellcode
- Private Function IsPortOpen(ByVal Host As String, ByVal PortNumber As Integer, ByVal Timeout As Integer) As Boolean
- Dim socket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
- Dim success As Boolean
- Dim result As IAsyncResult
- Try
- result = socket.BeginConnect(Host, PortNumber, New AsyncCallback(AddressOf socket.EndConnect), socket)
- success = result.AsyncWaitHandle.WaitOne(Timeout, True)
- Return success
- Catch
- Return False
- End Try
- End Function