Hi, I have written a C++ program for a Multicast Client that compiles and runs on Ubuntu. I tried to compile and run it on Cygwin version 1.5.25 (June 2008). However, when I run the code, the Multicast receiving socket doesn't seem to work. The problem comes when I use setsockopt() to add Multicast membership. The errno() declaration returns 22 (EINVAL), but I cannot find a solution. My code is:
int Descriptor, Descriptor2, payloadoffset,sqnum, T_ns, status; long nsegundos,Dnsegundos, segundos, Dsegundos; struct sockaddr_in Direccion, Direccion2; unsigned short Puerto; struct timespec valorcontador,valorcontador2,Next; struct ip_mreq Multic; Descriptor=socket(AF_INET,SOCK_DGRAM,0); Puerto=12100; Direccion.sin_family=AF_INET; Direccion.sin_port=htons(Puerto); Direccion.sin_addr.s_addr=inet_addr("224.0.22.1"); memset(&(Direccion.sin_zero),'\0',8); Multic.imr_multiaddr.s_addr=inet_addr("224.0.22.1"); Multic.imr_interface.s_addr=inet_addr("138.4.32.34"); status= setsockopt(Descriptor, IPPROTO_IP, IP_ADD_MEMBERSHIP, &Multic, sizeof(Multic)); if (status<0){ printf("Fallo al aƱadir el grupo de Multicast, codigo %i\n", errno); } I would really appreciate your help with this. Thanks in advance. Victor -- View this message in context: http://www.nabble.com/Problem-Adding-Membership-Multicast-Errno-22-tp22119431p22119431.html Sent from the Cygwin list mailing list archive at Nabble.com. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/