Я использую 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)));
}