UDP

aluccard Messages postés 22 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 11 octobre 2007 - 6 août 2007 à 17:04
aluccard Messages postés 22 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 11 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.

Merci

2 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
6 août 2007 à 19:09
Ben c'est un peu le principe du broadcast, non? toutes les données envoyées en broadcast sont reçu par tous les PC du même domaine.

Si tu veux différencier la source des données, tu peux toujours rajouter dans ces données même un identifiant du PC emeteur.

Ou alors ne pas envoyer les données en broadcast, mais à une adresse IP bien precise.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
aluccard Messages postés 22 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 11 octobre 2007
7 août 2007 à 08:22
ouai mais le logiciel qui envoi en Brodcast je peux rien y faire, c'est pas moi qui l'ai développé donc j'essai de faire.

Donc c'est pas faisable sans modifier le logiciel qui envoi en broadcast....
0
Rejoignez-nous