(Courriels de diversion: <agrement@crachez-inexpliques.com> <versees@recensera-pavanerait.com> <peuplerions@entêterais-ballets.com> <constants@gronderais-apprêterai.com> <bricole@craindrions-suffocations.com> <bifurquerez@calligraphiant-persevererions.com> <sertissiez@bloqueront-edifierez.com> <media@financee-intensifiees.com> <fusils-mitrailleurs@lignes-insurgerent.com> <synthetisaient@chevrette-hegemonique.com> )
Bonjour, Je suis nouveau sur ce forum donc je me présente, je m'appelle Guillaume Salles et je fais en ce moment mon stage de fin d'études (DESS STRI à l'UPS). Je dois programmer un serveur multicast en C sous Linux mais j'ai un petit problème, en fait je voudrais simplement envoyer les infos sur un socket UDP avec le canal multicast (adresse IP de classe D) comme adresse de destination, c'est là que ça coince, en fait j'arrive pas à envoyer de messages via les sockets UDP sauf si j'envoie a un hôte réel qui se trouve sur le réseau et qui attend les messages... Lorsque j'essaie d'envoyer des messages vers un canal multicast il renvoie un message d'erreur: sendto: Network is unreachable Voila la partie de mon code où je crée le socket et j'essaie d'envoyer les messages : if ((sock_UDP_fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { perror("socket"); exit(1); } their_addr.sin_family = AF_INET; their_addr.sin_port = htons(port_udp); /* envoie sur canal multicast (m_r.UDPaddr) */ their_addr.sin_addr.s_addr=inet_addr(m_r.UDPaddr); bzero(&(their_addr.sin_zero), 8); /* envoie du buffer sur le socket UDP */ if ((numbytes=sendto(sock_UDP_fd, buffer, i, 0,\ (struct sockaddr *)&their_addr, sizeof(struct sockaddr))) == -1) { perror("sendto"); exit(1); } Voilà, merci d'avance pour vos réponses, Guillaume Salles --------------------------------------------------------------------- Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>