2009-06-11 112 views

回答

2

不是一個真正的答案,但使用getaddrinfo(3),而不是:)
至於nscd來講,這裏離nscd.conf(5)手冊頁是:

 
enable-cache service <yes|no> 
    Enables or disables the specified service cache. 

你必須找出正確的service的DNS是。

1

不使用nscd? :)

說真的,如果你依靠gethostbyname()你可能想要使用libresolv並且請致電res_gethostbyname()來代替。

雖然由djb認爲是一個安全漏洞至少:)

考慮使用djbdns client library。非常安全,快速和堅實。

+0

感謝您的提示,但它看起來有點老(2001年)? 另外,任何想法,如果它頭標級庫,或庫可以靜態鏈接? – SyBer 2009-06-12 12:05:53

+0

是的,它是舊的,但非常堅固。雖然我不知道標題級別/靜態鏈接,但源代碼位於公有領域,因此您可以嘗試使用它。 – 2009-06-12 12:27:15

+0

而且,它不比gethostbyname():) – 2009-06-12 12:27:54

0

我不認爲gethostbyname真的緩存條目。這很可能是你的DNS緩存本身。

1

在gethostbyname()之前調用res_init()。看起來沒問題。