Что заменило asio :: tcp :: resolver :: query? - PullRequest
0 голосов
/ 27 мая 2018

В настоящее время я пытаюсь построить проект без устаревших методов и столкнулся с проблемой с распознавателем.Мой старый код раньше выглядел так:

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 :: tcp :: resolver :: query устарела.Как теперь выполняется разрешение имени хоста?

1 Ответ

0 голосов
/ 27 мая 2018

Ничто не заменило его.Просто посмотрите документацию [async_]resolve о том, что вместо этого использовать:

enter image description here

По сути, "объект параметра" был«встроенный» для разделения параметров.

...