Socket multicast

Socket multicast - C - Programmation

Marsh Posté le 16-06-2008 à 16:12:54    

  Bonjour à tous,
 
   Je suis étudiant en première année d'école d'informatique. Pour un projet en entreprise, je dois développer une passerelle multicast IPv4=>IPv6. La partie conversion des adresses IPv4 en IPv6 fonctionne bien : pour tester, je prend deux PCs reliés directement, je diffuse en multicast v4 sur l'un avec VLC, la passerelle convertie et réenvoie et je lis mon flux en IPv6 sur la première machine ou j'ai lancé en parallèle du premier VLC un second, client, cette-fois.
   Néanmoins, pour fonctionner, je dois lancer également un client VLC (qui écoute la session multicast v4) sur la passerelle. Après quelques recherches, je me suis aperçu que c'est parce la passerelle doit "s'abonner" au groupe multicast pour que les paquets remontent (ce que fait VLC mais pas mon programme). Il faut donc utiliser la fonction "setsockopt" avec l'option "IP_ADD_MEMBERSHIP". Et c'est là que je comprends plus trop...en effet, comment je peux demander à mon appli de s'abonner à un flux multicast qu'elle ne connait pas (puisqu'il n'est pas remonté)  :??:  En gros, comment puis-je lui donner l'adresse à écouter autrement qu'en dur ou en la passant en paramètre  :??:  
 
Merci d'avance :)

Reply

Marsh Posté le 16-06-2008 à 16:12:54   

Reply

Marsh Posté le 17-06-2008 à 12:06:48    

Personne?

Reply

Marsh Posté le 17-06-2008 à 17:07:03    

J'imagine que ton VLC Client que tu fais tourner sur ta machine passerelle est configuré à la main pour écouter la bonne IP, ou au moins a accès à un fichier SDP décrivant le flux à écouter (ce qui provoque le IP_ADD_MEMBERSHIP).  
 
Si ton appli doit fonctionner sans paramétrage, ie détecter automatiquement la présence de trafic multicast, il faudra regarder du coté de IGMP (RFC 2236).

Reply

Marsh Posté le 19-06-2008 à 15:02:54    

Merci Retrox!
 
Effectivement j'ai aussi accès à des fichiers sdp mais ceux-ci sont encapsulés dans l'ESG des services transportés  :sweat: .
Je vais regarder plus précisemment la RFC d'IGMP  :) (pour l'instant ça tourne mais avec un ficheir contenant les groupes multicast à ajouter).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed