在 ASIO 模式下使用 Websocket++ 时,我开始连接:
boost::shared_ptr<client> x(new client());
x->init_asio();
websocketpp::lib::error_code ec;
client::connection_pt con = x->get_connection(url, ec);
x->connect(con);
new thread(boost::bind(&LocalCallbacks::run, x)); // which just runs x->run()
此模式是从提供的示例中复制的(带有修改)。当用户按下按钮取消 websocket 时,我应该如何正确清理?我目前正在做:
x->stop();
我也应该打电话x->close()
吗?我需要在打电话close
之前等待stop
吗?我需要杀死thread
创建的那个,还是会自动停止?我收到了有关当前代码使 websocket 会话处于打开状态的报告。