Mail Archives: cygwin/2009/02/20/08:40:17
Thanks for the advice, I just tried it, but I keep getting the same mistake.
Maybe there is no IP_ADD_MEMBERSHIP option for Multicast in Cygwin?
Victor
Corinna Vinschen-2 wrote:
>=20
> On Feb 20 04:05, victhor_1983 wrote:
>>=20
>> Hi,
>>=20
>> 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:
>>=20
>> 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;
>>=20
>> Descriptor=3Dsocket(AF_INET,SOCK_DGRAM,0);
>> Puerto=3D12100;
>> Direccion.sin_family=3DAF_INET;
>> Direccion.sin_port=3Dhtons(Puerto);
>> Direccion.sin_addr.s_addr=3Dinet_addr("224.0.22.1");
>> memset(&(Direccion.sin_zero),'\0',8);=20=20=20
>>=20
>> Multic.imr_multiaddr.s_addr=3Dinet_addr("224.0.22.1");
>> Multic.imr_interface.s_addr=3Dinet_addr("138.4.32.34");
>> status=3D setsockopt(Descriptor, IPPROTO_IP, IP_ADD_MEMBERSHIP, &Multic,
>> sizeof(Multic));
>> if (status<0){
>> printf("Fallo al a=C3=B1adir el grupo de Multicast, codigo %i=
\n",
>> errno);
>> }
>=20
> I'm sorry, I can't tell you why this doesn't work. Cygwin's setsockopt
> function is basically just a shim between application and Winsock's
> setsockopt call. It only performs special actions on a very limited
> set of options, only two actually: (SOL_SOCKET, SO_REUSEADDR) and
> (IPPROTO_IP, IP_TOS). I'm also quite multicast illiterate. Is it
> possible that you have to use the IP_MULTICAST_IF option on Windows
> before you can use IP_ADD_MEMBERSHIP?!?
>=20
>=20
> Corinna
>=20
> --=20
> Corinna Vinschen Please, send mails regarding Cygwin to
> Cygwin Project Co-Leader cygwin AT cygwin DOT com
> Red Hat
>=20
> --
> 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/
>=20
>=20
>=20
--=20
View this message in context: http://www.nabble.com/Problem-Adding-Membersh=
ip-Multicast-Errno-22-tp22119431p22120193.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/
- Raw text -