чтение веб-сокета-сервера boost с кодом ошибки Конец файла и операция отменена - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь настроить сервер веб-сокета, как описано в в этом примере повышения зверя .

Все работает нормально, за исключением того, что чтение потока веб-сокета приводит к системной ошибке выброса без ошибок с кодом ошибки «Конец»файла "и" Операция отменена "

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 закрыт, но проблема в том, что отключение происходит очень часто, и это не имеет смысла.И что именно будет вызывать операцию отмены системной ошибки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...