
1. socket_addrinfo_lookup 함수는 IPv4 주소, IPv6 주소, 도메인 이름, UNIX 소켓 주소 등을 조회할 수 있습니다.
2. 소켓 주소 정보를 조회할 때, 주소 유형, 주소, 포트 번호, 소켓 주소 유형 등 다양한 정보를 반환합니다.
3. socket_addrinfo_lookup 함수를 사용하여 소켓 주소 정보를 조회하는 예제입니다.
#hostingforum.kr
c
#include
#include
#include
#include
#include
#include
int main() {
struct addrinfo hints, *res;
int status;
// 소켓 주소 정보 조회 옵션 설정
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC; // IPv4, IPv6 모두 조회
hints.ai_socktype = SOCK_STREAM; // TCP 소켓 주소 정보 조회
// 소켓 주소 정보 조회
status = getaddrinfo("www.example.com", "80", &hints, &res);
if (status != 0) {
printf("getaddrinfo() error: %sn", gai_strerror(status));
return 1;
}
// 소켓 주소 정보 출력
printf("소켓 주소 정보:n");
for (struct addrinfo *p = res; p != NULL; p = p->ai_next) {
printf(" 주소 유형: %sn", p->ai_family == AF_INET ? "IPv4" : "IPv6");
printf(" 주소: %sn", inet_ntoa(((struct sockaddr_in *)p->ai_addr)->sin_addr));
printf(" 포트 번호: %dn", ntohs(((struct sockaddr_in *)p->ai_addr)->sin_port));
printf(" 소켓 주소 유형: %sn", p->ai_socktype == SOCK_STREAM ? "TCP" : "UDP");
}
// 소켓 주소 정보 해제
freeaddrinfo(res);
return 0;
}
이 예제에서는 `getaddrinfo` 함수를 사용하여 도메인 이름 `www.example.com`에 대한 소켓 주소 정보를 조회합니다. 조회된 소켓 주소 정보를 출력하고, 소켓 주소 정보를 해제합니다.
2025-08-10 13:28