Я использую сервер веб-сокетов с помощью websocketpp. По прикладным причинам сервер может закрыть соединение. Когда я подключаюсь к серверу с помощью websocat, и сервер закрывает соединение, кажется, что время ожидания закрытия истекает, и вызывается обработчик on_close.
Do вы знаете, правильно ли websocat обрабатывает закрывающее рукопожатие? (было бы странно, если бы это было не так)
Примечание: я не тестировал другой клиент веб-сокета.
Я делаю что-то неправильно при закрытии соединения?
Почему обработчик on_close вызывается по истечении времени закрытия соединения?
Код сервера:< /p>
#include
#include
#include
#include
typedef websocketpp::server server;
using websocketpp::lib::placeholders::_1;
void on_open_connection(server * srv, websocketpp::connection_hdl hdl) {
using namespace std::chrono_literals;
using namespace websocketpp::close::status;
std::this_thread::sleep_for(3s);
auto conn = srv->get_con_from_hdl(hdl);
conn->close(normal, get_string(normal));
}
void on_close(websocketpp::connection_hdl hdl) {
std::cout
Подробнее здесь: https://stackoverflow.com/questions/694 ... tpp-server