On Mon, 2009-04-06 at 11:29 +0100, T. Horsnell wrote:
I'm using sendto and rcvfrom to handle a UDP connection to a
remote host. I send a msg using sendto, and then wait for
a reply using recvfrom, but I would like to be able to rapidly
timeout the rcvfrom if the remote host is down.
The async I/O set of commands aio_* offer what looks like
the perfect solution, but they require that I use aio_read
and aio_write (equivalent to read(2) and write(2) ) rather
than sendto/recvfrom.
I'd rather not sit in a loop waiting for a reply with
non-blocking I/O enabled. I'd much prefer to use blocking
I/O and have the recvfom come back to me either when the
input has completed, or it has timed out.
Check out GIOChannels in glib2:
http://library.gnome.org/devel/glib/stable/glib-IO-Channels.html
Siddhesh
--
http://siddhesh.in