aluccard
Messages postés22Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention11 octobre 2007
-
6 août 2007 à 17:04
aluccard
Messages postés22Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention11 octobre 2007
-
7 août 2007 à 08:22
Bonjour,
je suis sous Visual basic Express 2005 et souhaite récupérer des donnnées UDP en local sur mon PC.
Je m'explique, j'ai un logiciel (que l'on va appeler CD_Soft) qui envois en brodcast des trames UDP. Je souhaite (avec mon appli que l'on va appeler UDP_Soft qui se trouve sur le mm PC que CD_Soft) récupérer ces trames UDP de mon PC en local qui sont envoyé en Broadcast (sur le port 1402).
Il faut savoir que CD_Soft peut etre implémenté sur plusieurs PC sur le réseau et donc, chaque PC envoie aussi en brodcast des trames UDP sur le port 1402
voici ma fontion (mon PC possède l'adresse ip 192.168.80.22 ou IPLocal dans cet exemple):
Private Function UDP(ByVal IPLocal As String)
Dim EtatScn As Byte
Dim udpClient As New UdpClient(New IPEndPoint(IPAddress.Parse(IPLocal), 1402))
Try
Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Parse(IPLocal), 1402)
Dim receiveBytes As [Byte]() = udpClient.Receive(RemoteIpEndPoint)
Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)
EtatScn = receiveBytes(22)
udpClient.Close()
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
Return EtatScn
End Function
L'avantage est que ça fonctionne, je reçois bien la donnée que je souhaite. Le soucis est que si CD_Soft qui se trouve sur un autre PC sur le réseau envois des trames UDP en brodcast, je les reçois aussi et il y a confusion dans mon appli UDP_Soft, je reçoit les trames du PC d'a coté et non celle que je souhaite, soit celle qui partent de mon PC en local.
Donc si vous avez une idée de ce qu'il me manque dans mon prog pour pouvoir filtrer par exemple
Si je ne suis pas assez clair, n'hésitez pas a me demandé plus de renseignements.