사용 glibc,왜 내 gethostbyname 후 실패 I/DHCP 가 변경되었는 DNS 서버?

StackOverflow https://stackoverflow.com/questions/125466

  •  02-07-2019
  •  | 
  •  

문제

는 경우에 우리의 서버(에서 실행 되는 장치)시작하기 전에는 DHCP 임대가 있었다 획득할 수 있는지 연결을 사용하여 호스트 이름이 있습니다.

발생하는 경우 그것을 찾을 수 있습으로 호스트를 IP 주소만으로 DNS.

저는 처음에 생각했는 컬 DNS 캐시 잘못으로 컬 연결하지 못했습니다.하지만 내가 사용하는 CURLOPT_DNS_CACHE_TIMEOUT 을 방지하는 컬에서 주소를 캐싱하지만 여전히 연결이 실패했습니다.

도움이 되었습니까?

해결책

는 것이 밝혀졌 glibc gethostbyname_r 지 않을 것이 자동으로 로드 그것은 구성하는 경우가 구성을 변경합니다.이 있을 수동으로 호출 res_init.보 버그 보고서 아래.

참고:도의 남자 페이지 gethostbyname_r 도에 대한 rer_init 언급이 제한이 있습니다.

나의 솔루션은 매우 특정합니다.그것은 작품에 대한 우리의 오래 실행되는 서버지 나의 이상적인 솔루션입니다.

나는 기능을 확인하는 mtime 의/etc/resolv.conf 파일에 대해 마지막으로 알려진 mtime(0 없).는 경우 두 mtime 다음 호출 res_init.이 기능은 프로그램을 시작할 때 호출한 다음 정기적으로 다시 선택적으로 구성되어 있습니다.


Glibc 버그 보고서

libc 캐시 resolv.conf 원

...

는 무엇 res_init()위해,그것을 호출합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top