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 mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users