Bonjour à tous,
Dans le cadre de mon travail j'ai réalisé deux logiciels d'émission / réception en C afin de pouvoir transmettre des données via protocole UDP. A l'époque je transmetais en mode point à point avec uniquement deux machines connectées. Aucun souci au niveau du développement, des test et de l'intégration.
Dernièrement on m'a demandé de faire évoluer mon soft d'émission pour qu'il emmette en mode multicast afin de pouvoir envoyer les données sur un réseau composé de machines windows linux.
Développement sans souci intégration réussie jusqu'à ce que nous nous rendions compte qu'il n'y avait aps que la machine réceptrice qui recevait le message masi toutes celles du réseau
En effet mon soft ne multicast pas mais broadcast apparemment
je me sus donc penché sur les docs que j'ai trouvé, les sources existantes et fais des modifications mais rien n'y change. Je n'ai aps l'autorisation de poster les sources de mon code.
Cependant en cherchant sur les forums (notamment celui du génial site développez.com) j'ai pu récupérer des sources d'émetteur multicast et me suis permis de les tester pour voir si cela venait de mon soft ou pas ?
j'ai donc récupérer les sources de maarek plus bas dans ce forum ainsi que les sources du site http://pont.net/socket/ section multicast et la oh surprise les deux sources broadcast.
La manip de test que j'ai mise en place consiste en 3 pc windows sous le même réseau relié par switch :
- un pc avec les softs d'émission
- deux pc avec whire shark (ethereal) pour sniffer le réseau
quand je lance les différentes sources whire shark détecte les trames sur le réseau en entrée de mes pcs de réception. Hors pour moi le mode multicast consiste à envoyer à une adresse spécifique (chez moi 224.0.0.1) et le switch se charge de rediriger la trame uinquement aux pc abonnés au groupe ??
Hors chez moi la trame apparait sur les pc en réception.
Une seconde manip a été mise en place avec des switchs configurables et des pc linux sur le réseau qui utilisent la commande tshark pour écouter les ports et le résultat est le même.
Quelqu'un aurait-il une explication à ce problème ? Vient-il de Windows ?
D'avance merci
Partager