On Mon, 2009-04-06 at 11:29 +0100, T. Horsnell wrote:
Apologies for this off-topic post. Pls point me elsewhere if
there's a more suitable list.
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.
Any suggestions how I might achieve this?
Cheers,
Terry
Have you considered using non-blocking send/recv and then use select to
"wait" on the socket(s)?
It's a far cheaper (performance wise) solution.
- Gilboa