Mail Archives: cygwin/2006/08/17/10:06:32
On Thu, 17 Aug 2006, Dave Korn wrote:
> On 17 August 2006 14:45, Brian Ford wrote:
> > On Thu, 17 Aug 2006, Alessandro Saffiotti wrote:
> >> imreq.imr_interface.s_addr = INADDR_ANY;
> >
> > INADDR_ANY is in host byte order, but you need network order for this
> > call.
>
> Yeh, that's it! And don't forget to use left-handed bits - the ordinary
> right-handed ones are no good for INADDR_ANY. :)
Sorry, not enough coffee yet this morning ;-). I was up all night with my
two month old daughter.
My point should have been that I use this construct every day in 1.5.18
and 1.5.21 within our application and it works fine. I saw very few
differences. Here is my snippet in case I missed something else obvious:
fd = socket(AF_INET, SOCK_DGRAM, 0);
Oh yeah, you must call the setsockopt below after the bind on windows.
Search MSDN for why.
{
struct ip_mreq mreq;
mreq.imr_interface.s_addr = htonl(INADDR_ANY);
mreq.imr_multiaddr.s_addr = inet_addr("224.0.0.1");
if (setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq,
sizeof(mreq)) < 0)
perror("Unable to join 224.0.0.1");
}
--
Brian Ford
Lead Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
the best safety device in any aircraft is a well-trained crew...
.
--
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 -