Hi there, I ran into the following problem when using setsockopt to create a multicast receiver in my own application. Here is the relevant part of the code:
---------------------------------------------------------------------- . . . tcp_broadcast_receiver = socket(PF_INET,SOCK_DGRAM,IPPROTO_IP); memset(&imreq, 0, sizeof(struct ip_mreq)); imreq.imr_multiaddr.s_addr = inet_addr("227.1.3.5"); imreq.imr_interface.s_addr = INADDR_ANY; if(setsockopt(tcp_broadcast_receiver, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const void *)&imreq, sizeof(struct ip_mreq)) != 0) perror("Error joining multicast group"); . . . ---------------------------------------------------------------------- It compiles ok, but when I run it setsockopt fails producing the following report: Error joining multicast group: Invalid argument I have noted that a similar problem was reported long time ago, when support for multicast was not implemented, but I understand that this support is not available. I have also read the discussion about the conflicting values for constants between winsock1 and winsock2. I have tried to replace IP_ADD_MEMBERSHIP by hardcoding either 5 (winsock1) or 12 (winsok2), but I get the same behavior. I run Cygwin 1.5.18 on Windows XP pro SP2. Any hints? Thanks! Alessandro Saffiotti -- 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/