
gethostbyname 함수는 DNS lookup을 수행하여 도메인 이름을 IP 주소로 변환하는 함수입니다. DNS lookup 오류가 발생한 경우, NULL 포인터가 반환됩니다. 오류의 원인은 다음과 같습니다.
1. DNS 서버가 비활성화된 경우
2. DNS 서버가 다운된 경우
3. 도메인 이름이 잘못된 경우
4. IP 주소가 잘못된 경우
5. 네트워크 연결이 끊긴 경우
오류 코드를 확인하는 방법은 다음과 같습니다.
1. gai_strerror 함수를 사용하여 오류 코드를 확인할 수 있습니다. 이 함수는 오류 코드를 문자열로 변환하여 반환합니다.
2. h_errno 함수를 사용하여 오류 코드를 확인할 수 있습니다. 이 함수는 오류 코드를 정수형으로 반환합니다.
예를 들어, 다음과 같이 오류 코드를 확인할 수 있습니다.
#hostingforum.kr
c
#include
int main() {
struct hostent *he;
he = gethostbyname("example.com");
if (he == NULL) {
char *err = gai_strerror(h_errno);
printf("DNS lookup 오류: %sn", err);
}
return 0;
}
이 예제에서는 gai_strerror 함수를 사용하여 오류 코드를 확인합니다. 오류 코드가 잘못된 도메인 이름일 경우, "호스트 이름이 잘못되었습니다."라는 메시지가 출력됩니다.
2025-04-28 19:35