如何在 boost::beast 上继续使用 websocket?
how to keep on websocket on boost::beast?
我参考了 here 关于 boost::beast websocket-async 的文档。
我删除了 on_read 功能上的 "ws_.async_close(websocket::close_code::normal..." 以避免断开连接。
但是 beast websocket 因结束 on_read 而断开连接。
std::make_shared<session>(ios)->run(host, port, text);
ios.run(); // I want to keep running it until explicit calling close.
替换代码
// Close the WebSocket connection
ws_.async_close(websocket::close_code::normal,
std::bind(
&session::on_close,
shared_from_this(),
std::placeholders::_1));
符合你想要的逻辑。你想要发生什么?你想阅读更多吗?然后像上面那样再读一遍:
// Read a message into our buffer
我参考了 here 关于 boost::beast websocket-async 的文档。
我删除了 on_read 功能上的 "ws_.async_close(websocket::close_code::normal..." 以避免断开连接。
但是 beast websocket 因结束 on_read 而断开连接。
std::make_shared<session>(ios)->run(host, port, text);
ios.run(); // I want to keep running it until explicit calling close.
替换代码
// Close the WebSocket connection
ws_.async_close(websocket::close_code::normal,
std::bind(
&session::on_close,
shared_from_this(),
std::placeholders::_1));
符合你想要的逻辑。你想要发生什么?你想阅读更多吗?然后像上面那样再读一遍:
// Read a message into our buffer