Changer le Time To Live d'un packet UDP en multicast sous visual C++

[Résolu]
Signaler
Messages postés
2
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
14 novembre 2008
-
Messages postés
2
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
14 novembre 2008
-
Bonjour,
Mon application utilise un socket multicast pour envoyer des trames à plusieurs autres applications. Mon problème : deux routeurs se sont glissés sur le réseau. Après avoir modifié les paramètres des routeurs CISCO pour laisser passer le multicast, je me suis rendu compte que les paquets n'arrivaient pas à destination car le TTL (time to live) n'est que de 1 pour mes paquets UDP (mes trames TCP passent les routeurs avec un TTL supérieur ... 16 il me semble).
Comment modifier la valeur du TTL dans mon socket, quelle fonction utiliser ? Après MSDN et internet, toujours aucune réponse ni piste.

L'application est développée en Visual C++, j'ai trouvé différents posts sur VB ou ca a l'air bien plus simple ...

Merci de vos réponses

2 réponses

Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
Bienvenu dans le monde du multicast !!!! Va sur ce lien.

unsigned char ttl = 32;

setsockopt(sdw, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, sizeof(ttl));
Messages postés
2
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
14 novembre 2008

Merci pour l'info ! J'avais également trouvé la solution sur MSDN ! Et ca marche nickel ...