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

Решение

Это должно работать, хотя, если честно, я не проверял это. Что происходит, когда вы используете его повторно?

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector