Boost logo

Boost Users :

From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2021-02-19 17:58:09


On 19/02/2021 17:19, Richard Hodges via Boost-users wrote:
> The TCP/IP protocol was designed to work over unreliable networks,
> including sections that hop over radio links and dial-up telephone lines.
>
> In a nutshell, the way the internet works is that packets are
> transmitted and it is assumed that they may or may not arrive at some
> time in the future. There are timeouts built in, but they are longer
> than you would probably want, on account of all the unreliable dial-ups
> between you and the other peer.
>
> Therefore, to involve a timeout you need to run a timer in parallel with
> the send/receive operation and cancel the operation if the timeout
> occurs before the operation has completed.

It probably would be easier to set SO_KEEPALIVE on the socket, then it
will close as soon as the physical connection disappears. This works for
any kind of socket, no timeouts needed.

Niall


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net