Bonjour à tous,

j'ai un léger problème qui m'empeche completement d'avancer sur mon projet, je vous explique.

Je suis en train (j'essaye) de créer un scanneur de port et je test tous les ports un par un très simplement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
        Dim socket As New Net.Sockets.TcpClient
        socket.Connect(ip, port)
Rien qu'avec ca je peux savoir si le port est ouvert ou non. Seul problème, si le port est fermé (donc pour 99% des cas) et bien il met énormément de temps à me renvoyer la réponse.


Ce que j'aimerais savoir c'est comment ne laisser qu'un certain temps à la fonction pour tester le port (car il n'y a pas de timeout déja inclus)


J'ai essayé avec comme ca mais ca ne fonctionne pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
        Dim socket As New Net.Sockets.TcpClient
        Dim chrono As New System.Diagnostics.Stopwatch
        chrono.Start()
 
        While chrono.ElapsedMilliseconds < 1000
            Try
                socket.Connect(ip, port)
                Return True
            Catch
                Return False
            End Try
        End While

Merci à vous, cordialement,

AliHome