Re[4]: C++17 - std::net
От: Masterspline  
Дата: 18.10.15 02:17
Оценка: 6 (1)
> Скажем, смогу я с этим <net> асинхронно резолвить сразу несколько (напр., 100 тыс.) хостов? Или будет как в ASIO — асинхронно, но строго по одному за раз.

Асинхронно резолвить не сможешь никогда, потому что резолвинг — это не просто DNS запрос. Есть еще /etc/hosts и что угодно, что реализуется libNSS (а там могут быть и запросы к LDAP и libasral.so и ни одна из этих библиотек не гарантирует асинхронную реализацию). Поэтому разрешение адреса по имени — это вызов gethostbyname и более современных аналогов в отдельном потоке, например, через std::async() (примерно так, кстати, boost'овый асинхронный резолвер и делает, так что его можно реализовать руками так же эффективно).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.