Boost Beast переподключить соединение через веб-сокет после закрытия
Я использую Boost:: Beast для создания подключения к веб-сокету, и пока он работает нормально. Но я не могу понять, если я должен заменить переменную websocket:: stream после отключения.
т.е. у меня есть переменная:
boost::beast::websocket::stream<boost::asio::ssl::stream<boost::asio::ip::tcp::socket>> _ws
После того, как асинхронное разъединение инициируется и завершается:
bool WebsocketConnection::startDisconnectSequence()
{
_ws.async_close(
boost::beast::websocket::close_code::normal,
boost::asio::bind_executor(
_strand,
std::bind(
&WebsocketConnection::onClose,
this,
std::placeholders::_1)));
return true;
}
Если я хочу перезапустить снова, я должен заменить переменную _ws
boost::asio::async_connect(
_ws.next_layer().next_layer(),
results.begin(),
results.end(),
boost::asio::bind_executor(
_strand,
std::bind(
&ASIOConnectionBase::onConnect,
this,
std::placeholders::_1)));
}
1 ответ
Это должно работать, хотя, если честно, я не проверял это. Что происходит, когда вы используете его повторно?