Это проблема, которую система DNS-запросов в вашей ОС должна решить.
Улучшение производительности, которое вы хотите получить, не выполняя дополнительный поиск, противоречит тому факту, что IP-адрес может со временем меняться. Любые запросы должны кэшироваться, предположительно, с соблюдением некоторых правил тайм-аута записи, установленных записью DNS. Насколько я могу судить, Windows и запросы кеша OS X автоматически из коробки. В моем Debian Box я обнаружил, что для этой функции я должен был включить службу systemd-resolved. Не зная ваших потребностей, это, пожалуй, самое разумное общее решение того, что вы описываете.
Делайте это с помощью getaddrinfo () и кешируйте его самостоятельно в течение некоторого периода времени в рамках вашей программы (даже на диск). ) является правильным решением, если вы хотите абсолютного контроля и не хотите где-то жестко его кодировать (в приложении или в чем-то вроде файла hosts).