В сетевой библиотеке ASIO C++ вы можете разрешить адрес, создав объект запроса, конструктор которого принимает (необязательно, будь то ip4 или ip6), аргумент «хост» и аргумент «сервис». «Хост» — это имя сайта, который вы хотите преобразовать в IP-номер, а «сервис» (я предполагаю) — это номер порта. Итак, это поиск/запрос DNS, но я понимаю, что DNS-запросы предназначены для поиска ассоциаций между именами и номерами IP, я вообще не понимаю, какое значение в этом имеет порт.
Код: Выделить всё
asio::ip::tcp::resolver::query query{"www.google.com", "80"};
Мое замешательство еще больше усугубляется тем, что есть конструктор «запроса», который принимает только «сервис». Комментарий дает небольшое пояснение:
Код: Выделить всё
This constructor is typically used to perform name resolution for local service binding
Я не понимаю, я думал, что поиск DNS предназначен исключительно для сопоставлений (имя -> IP-номер). Если я разрешаю имя с портом 109, а затем то же имя с портом 400, получу ли я те же IP-номера?
Подробнее здесь:
https://stackoverflow.com/questions/784 ... dns-lookup