This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem Adding Membership Multicast Errno 22


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:
> 
> On Feb 20 04:05, victhor_1983 wrote:
>> 
>> 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'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?!?
> 
> 
> Corinna
> 
> -- 
> Corinna Vinschen                  Please, send mails regarding Cygwin to
> Cygwin Project Co-Leader          cygwin AT cygwin DOT com
> Red Hat
> 
> --
> 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/
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Problem-Adding-Membership-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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]