Bonjour,

Sur un réseau, j'ai plusieurs cartes électroniques qui sont à l'écoute, sur un port données, en TCP.
Je cherche le moyen de les détectées rapidement depuis un programme VB.NET.

J'ai essayé plusieurs solutions, par socket :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
        Dim soc As Socket
        Dim lstSoc As New ArrayList()
        Dim sIp as String 
        Dim i As Integer
        Dim ep As System.Net.IPEndPoint
 
        For i = 0 To 10
            sIp = "192.168.0." & (1 + i).ToString
 
            soc = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
            ep = New System.Net.IPEndPoint(IPAddress.Parse(sIp), 12000)
            lstSoc.Add(soc)
 
            soc.Blocking = False
            Try
                soc.Connect(ep)
 
            Catch ex As Exception
                Console.WriteLine(ex.Message)
 
            End Try
 
        Next i
 
        Socket.Select(Nothing, lstSoc, Nothing, 1000)
 
        For i = 0 To lstSoc.Count - 1
            Console.WriteLine(CType(lstSoc(i), Socket).RemoteEndPoint.ToString & " Connecté")
            CType(lstSoc(i), Socket).Disconnect(False)
            CType(lstSoc(i), Socket).Close()
 
        Next i
J'ai essayé se code, ça fonctionne mais uniquement la 1ère fois, ensuite, je ne retrouve pas les cartes.

En visualisant les connexion TCP, je vois que je reste connecté.

Comment faire pour détecter rapidement des cartes ou pc en écoute sur un port donné ?

Merci