Получить IP-адрес из DNS без использования gethostbyname?

Функция gethostbyname () PHP не кажется настраиваемой в отношении тайм-аутов. Я хочу ограничить запросы DNS на 1 секунду или меньше, так как больше показывает проблему и ее следует игнорировать.

Итак, есть ли способ сделать DNS-запрос с использованием сокетов или cURL? Я смог сделать SMTP-запросы, используя потоки PHP, которые сохраняли ресурсы сервера, поэтому я хочу сделать то же самое с DNS-запросами.

В комментариях к статье PHP есть несколько вариантов установки / включения тайм-аута:

<?php function getAddrByHost($host, $timeout = 3) { $query = `nslookup -timeout=$timeout -retry=1 $host`; if(preg_match('/\nAddress: (.*)\n/', $query, $matches)) return trim($matches[1]); return $host; } ?> 

http://www.php.net/manual/en/function.gethostbyname.php#92870