В настоящее время я пытаюсь создать проект без устаревших методов и столкнулся с проблемой с преобразователем. Мой старый код выглядел так:
const asio::ip::tcp::resolver::query query(params.host, std::to_string(params.port));
m_resolver.async_resolve(query, [&](const std::error_code &ec_, asio::ip::tcp::resolver::iterator iter) {
if (ec_) {
ec = ec_;
return;
}
while (iter != asio::ip::tcp::resolver::iterator()) {
m_socket.reset(new asio::generic::stream_protocol::socket(m_service));
m_socket->async_connect((*iter++).endpoint(), [&](const std::error_code &err_code) {
if (err_code) {
ec = err_code;
return;
}
connected = true;
});
};
});
Но теперь Asio заявляет, что asio :: tcp :: resolver :: query устарел. Как теперь выполняется разрешение имени хоста?
Немного. Говорит, что он устарел, но не говорит, что его заменило: boost.org/doc/libs/1_67_0/doc/html/boost_asio/reference/…





Ничего не заменило. Просто посмотрите на документация [async_]resolve, что использовать вместо этого:
По сути, «объект параметра» был «встроен» для разделения параметров.
Вы читали какую-либо документацию об этом? Что он тебе сказал?