Я знаю, что могу использовать код ошибки в async_write
, async_read
проверить отключение.
Тем не менее, в моей ситуации, после получения чего-либо, я не могу написать немедленно (или, возможно, никогда не произойдет обратная запись).
Во время между чтением и письмом, как я могу проверить
исключение при отключении клиента?
Я знаю, что могу использовать код ошибки в async_write, async_read, чтобы проверить отключение.
На самом деле только async_read
сообщит вам, если другой конец изящно закрыл соединение.
Как я могу проверить исключение при отключении клиента во время между чтением и записью?
Ты не можешь На самом деле, даже не всегда возможно узнать, закрыл ли другой конец соединение, даже если вы звоните async_read
, Вам нужно использовать таймер для тайм-аута соединения, если какое-то время не было никаких действий. Вы можете использовать функцию ping потока websocket, если слишком много времени проходит без активности. Это продемонстрировано на передовых серверных примерах.
Других решений пока нет …