python socket.gethostbyaddr () - уменьшить время ожидания? - PullRequest
4 голосов
/ 14 января 2012

socket.gethostbyname() прекрасно работает, когда его аргумент является реальным именем хоста. Но когда это несуществующий хост, я получаю тайм-аут на 3 секунды, за которым следует

socket.gaierror: [Errno 11001] getaddrinfo failed

Я не против исключения (оно уместно), но есть ли способ уменьшить время ожидания?

1 Ответ

1 голос
/ 14 января 2012

Это может быть невозможно, если Python использует систему gethostbyname().Я не уверен, что вы действительно этого хотите, потому что вы можете получить ложные тайм-ауты.

Однажды у меня возникла похожая проблема, но из C ++: мне пришлось вызывать функцию для большого количества имен, поэтому длительное время ожидания было настоящей болью.Решение состояло в том, чтобы вызывать его из множества потоков параллельно, поэтому, пока некоторые из них зависали в ожидании тайм-аута, все остальные работали нормально.

...