Merge pull request #369 from Palakis/bugfix/connection-onclose-broadcast-crash

WSServer: handle error codes to avoid throwing exceptions when sending a message
This commit is contained in:
Stéphane Lepin 2019-09-02 12:52:58 +02:00 committed by GitHub
commit 6b6dec79c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -134,7 +134,15 @@ void WSServer::broadcast(std::string message)
continue;
}
}
_server.send(hdl, message, websocketpp::frame::opcode::text);
websocketpp::lib::error_code errorCode;
_server.send(hdl, message, websocketpp::frame::opcode::text, errorCode);
if (errorCode) {
std::string errorCodeMessage = errorCode.message();
blog(LOG_INFO, "server(broadcast): send failed: %s",
errorCodeMessage.c_str());
}
}
}
@ -166,7 +174,14 @@ void WSServer::onMessage(connection_hdl hdl, server::message_ptr message)
WSRequestHandler handler(connProperties);
std::string response = handler.processIncomingMessage(payload);
_server.send(hdl, response, websocketpp::frame::opcode::text);
websocketpp::lib::error_code errorCode;
_server.send(hdl, response, websocketpp::frame::opcode::text, errorCode);
if (errorCode) {
std::string errorCodeMessage = errorCode.message();
blog(LOG_INFO, "server(response): send failed: %s",
errorCodeMessage.c_str());
}
});
}