select on udp recvfrom doesn't work ???

Lennart Sorensen lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at public.gmane.org
Wed Aug 11 18:34:03 UTC 2010


On Wed, Aug 11, 2010 at 01:22:08PM -0400, Dave Cramer wrote:
> Len,
> 
> > How about this little example.  It waits for a UDP message (anything at
> > all) on port 5000, and when that happens it starts to print a message
> > every 10 ticks, with a tick rate of 10ms, (so 10 times per second it
> > does the print).
> >
> > I start it by doing:
> >
> > echo "Foo" | nc -u ipaddress 5000 -q 1
> >
> > nc is netcat.  Any other udp capable network connection should work too.
> >
> 
> Thanks for taking the time to write this, couple questions:
> 
> 1) sock = socket(AF_INET, SOCK_DGRAM, 0); this seems to be a common
> mistake. it should be socket(BF_INET....) happens that AF_INET and
> BF_INET both = 2
> 
> Where does it do the read ? or does it block on the bind ?

Sorry it should be PF_INET, not AF_INET (nor BF_INET).

The read is recvfrom after the select.

It doesn't care what the message is, just that it receives one as a
start trigger.

-- 
Len Sorensen
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list