Я пытаюсь настроить сервер веб-сокета, как описано в в этом примере повышения зверя .
Все работает нормально, за исключением того, что чтение потока веб-сокета приводит к системной ошибке выброса без ошибок с кодом ошибки «Конец»файла "и" Операция отменена "
beast::flat_buffer buffer;
try {
ws->read(buffer); // ws is in the free store
}
catch(beast::system_error const& se) {
if(se.code() == websocket::error::closed) {
LOG_INFO << "ws closed, exiting handing thread..";
break;
}
LOG_WARNING << "exception: " << se.code() << ", " << se.code().message();
}
После того, как клиент подключился к этому серверу, и сервер начинает читать входящие сообщения от клиента с
ws-> read (буфер);
Время от времени один конец файла system_error и системная ошибка многих отмененных операций обнаруживаются и печатаются, как показано ниже:
WARNING exception: asio.misc:2, End of file
WARNING exception: system:125, Operation canceled
WARNING exception: system:125, Operation canceled
WARNING exception: system:125, Operation canceled
Я гуглил, End ofВозможно, файл вызван тем, что основной сокет TCP закрыт, но проблема в том, что отключение происходит очень часто, и это не имеет смысла.И что именно будет вызывать операцию отмены системной ошибки?