기능
도메인 네임으로부터 IP 주소를 알아낸다.
헤더
WinSock2.h
형태
struct hostent FAR *gethostbyname(const char FAR *name)
리턴
성공 시 hostent 구조체의 포인터, 실패 시 NULL 포인터
예제
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <WinSock2.h>
#define BUFSIZE 30
void ErrorHandling(char *message);
int main(int argc, char **argv) {
WSADATA wsaData;
int i;
struct hostent *host; //HOSTENT* host
if (argc != 2) {
printf("Usage: %s Domain_name\n", argv[0]);
exit(1);
}
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) /* Load WinSock 2.2 DLL */
ErrorHandling("WSAStartup() error!");
host = gethostbyname(argv[1]);
if (!host)
ErrorHandling("gethost... error!");
printf("Officially name: %s\n", host->h_name);
puts("Aliases-------");
for (i = 0; host->h_aliases[i]; i++) {
puts(host->h_aliases[i]);
}
printf("Address Type: %\n", host->h_addrtype == AF_INET ? "AF_INET" : "AF_INET9");
puts("IP Address----");
for (i = 0; host->h_addr_list[i]; i++) {
puts(inet_ntoa(*(IN_ADDR*)host->h_addr_list[i]));
}
WSACleanup();
return 0;
}
void ErrorHandling(char *message) {
fputs(message, stderr);
fputc('\n', stderr);
exit(1);
}
'컴퓨터' 카테고리의 다른 글
gethostbyaddr (0) | 2019.03.17 |
---|---|
hostent (0) | 2019.03.16 |
shutdown (0) | 2019.03.15 |
strcmp (0) | 2019.03.15 |
네트워크 프로토콜과 계층구조 (0) | 2019.03.13 |