1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| # Public Sub TestPort()
# _blEtat = True
# ' Instanciation d'une plage d'IP d'une seule valeur
# Dim PlageIP As System.Net.IPAddress = System.Net.Dns.Resolve(Host).AddressList(0)
# Dim HostetPort As New System.Net.IPEndPoint(PlageIP, Port)
# ' Test quel type de port est sélectionné
# If _strProtocol = "Tcp" Then ' Si c'est Tcp alors on défini un Socket Tcp
# Dim LeSocket1 As New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
# Try
# LeSocket1.Connect(HostetPort)
# If Not LeSocket1.Connected Then ' Test si le socket est connecté donc si il y a un connection au port
# ' Si le port est fermé
# _blEtat = False
# Return
# Else
# ' Si le port est ouvert
# _blEtat = True
# Return
# End If
# Catch
# ' Si la connection retourne une erreur. Intérprété comme port fermé ou périphérique injoignable
# _blEtat = False
# Return
# End Try
# Else 'Sinon on définit un Socket Udp
# Dim LeSocket2 As New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Udp)
# Try
# LeSocket2.Connect(HostetPort)
# If Not LeSocket2.Connected Then ' Test si le socket est connecté donc si il y a un connection au port
# ' Si le port est fermé
# _blEtat = False
# Return
# Else
# ' Si le port est ouvert
# _blEtat = True
# Return
# End If
# Catch
# ' Si la connection retourne une erreur. Intérprété comme port fermé ou périphérique injoignable
# _blEtat = False
# Return
# End Try
# End If
# End Sub |