다음을 통해 공유


CSocketAddr 클래스

이 클래스는 호스트 이름을 호스트 주소로 변환하고 IPv4 및 IPV6 형식을 모두 지원하는 메서드를 제공합니다.

구문

class CSocketAddr

멤버

공용 생성자

속성 설명
CSocketAddr::CSocketAddr 생성자입니다.

공용 메서드

이름 설명
CSocketAddr::FindAddr 제공된 호스트 이름을 호스트 주소로 변환하려면 이 메서드를 호출합니다.
CSocketAddr::FindINET4Addr IPv4 호스트 이름을 호스트 주소로 변환하려면 이 메서드를 호출합니다.
CSocketAddr::FindINET6Addr IPv6 호스트 이름을 호스트 주소로 변환하려면 이 메서드를 호출합니다.
CSocketAddr::GetAddrInfo 목록의 특정 요소에 대한 포인터를 반환하려면 이 메서드를 호출합니다 addrinfo .
CSocketAddr::GetAddrInfoList 목록에 대한 포인터를 반환하려면 이 메서드를 호출합니다 addrinfo .

설명

이 클래스는 라이브러리에서 Windows 소켓 API 함수 및 소켓 래퍼와 함께 사용할 네트워크 주소를 조회하기 위한 IP 버전 독립적 접근 방식을 제공합니다.

네트워크 주소를 조회하는 데 사용되는 이 클래스의 멤버는 Win32 API 함수 getaddrinfo를 사용합니다. ANSI 또는 유니코드 버전의 함수는 코드가 ANSI 또는 UNICODE용으로 컴파일되는지 여부에 따라 호출됩니다.

이 클래스는 IPv4 및IPv6 네트워크 주소를 모두 지원합니다.

요구 사항

헤더: atlsocket.h

CSocketAddr::CSocketAddr

생성자입니다.

CSocketAddr();

설명

CSocketAddr 개체를 만들고 호스트에 대한 응답 정보를 포함하는 연결된 목록을 초기화합니다.

CSocketAddr::FindAddr

제공된 호스트 이름을 호스트 주소로 변환하려면 이 메서드를 호출합니다.

int FindAddr(
    const TCHAR *szHost,
    const TCHAR *szPortOrServiceName,
    int flags,
    int addr_family,
    int sock_type,
    int ai_proto);

int FindAddr(
    const TCHAR *szHost,
    int nPortNo,
    int flags,
    int addr_family,
    int sock_type,
    int ai_proto);

매개 변수

szHost
호스트 이름 또는 점선 IP 주소입니다.

szPortOrServiceName
호스트의 포트 번호 또는 서비스 이름입니다.

nPortNo
포트 번호.

flags
0 또는 AI_PASSIVE, AI_CANONNAME 또는 AI_NUMERICHOST 조합합니다.

addr_family
주소 패밀리(예: PF_INET).

sock_type
소켓 유형(예: SOCK_STREAM).

ai_proto
프로토콜(예: IPPROTO_IP 또는 IPPROTO_IPV6).

Return Value

주소가 성공적으로 계산되면 0을 반환합니다. 실패시 0이 아닌 Windows 소켓 오류 코드를 반환합니다. 성공하면 계산된 주소는 사용 및 CSocketAddr::GetAddrInfo을 사용하여 CSocketAddr::GetAddrInfoList 참조될 수 있는 연결된 목록에 저장됩니다.

설명

호스트 이름 매개 변수는 IPv4 또는 IPv6 형식일 수 있습니다. 이 메서드는 Win32 API 함수 getaddrinfo 를 호출하여 변환을 수행합니다.

CSocketAddr::FindINET4Addr

IPv4 호스트 이름을 호스트 주소로 변환하려면 이 메서드를 호출합니다.

int FindINET4Addr(
    const TCHAR *szHost,
    int nPortNo,
    int flags = 0,
    int sock_type = SOCK_STREAM);

매개 변수

szHost
호스트 이름 또는 점선 IP 주소입니다.

nPortNo
포트 번호.

flags
0 또는 AI_PASSIVE, AI_CANONNAME 또는 AI_NUMERICHOST 조합합니다.

sock_type
소켓 유형(예: SOCK_STREAM).

Return Value

주소가 성공적으로 계산되면 0을 반환합니다. 실패시 0이 아닌 Windows 소켓 오류 코드를 반환합니다. 성공하면 계산된 주소는 사용 및 CSocketAddr::GetAddrInfo을 사용하여 CSocketAddr::GetAddrInfoList 참조될 수 있는 연결된 목록에 저장됩니다.

설명

이 메서드는 Win32 API 함수 getaddrinfo 를 호출하여 변환을 수행합니다.

CSocketAddr::FindINET6Addr

IPv6 호스트 이름을 호스트 주소로 변환하려면 이 메서드를 호출합니다.

int FindINET6Addr(
    const TCHAR *szHost,
    int nPortNo,
    int flags = 0,
    int sock_type = SOCK_STREAM);

매개 변수

szHost
호스트 이름 또는 점선 IP 주소입니다.

nPortNo
포트 번호.

flags
0 또는 AI_PASSIVE, AI_CANONNAME 또는 AI_NUMERICHOST 조합합니다.

sock_type
소켓 유형(예: SOCK_STREAM).

Return Value

주소가 성공적으로 계산되면 0을 반환합니다. 실패시 0이 아닌 Windows 소켓 오류 코드를 반환합니다. 성공하면 계산된 주소는 사용 및 CSocketAddr::GetAddrInfo을 사용하여 CSocketAddr::GetAddrInfoList 참조될 수 있는 연결된 목록에 저장됩니다.

설명

이 메서드는 Win32 API 함수 getaddrinfo 를 호출하여 변환을 수행합니다.

CSocketAddr::GetAddrInfo

목록의 특정 요소에 대한 포인터를 반환하려면 이 메서드를 호출합니다 addrinfo .

addrinfo* const GetAddrInfo(int nIndex = 0) const;

매개 변수

nIndex
addrinfo 목록의 특정 요소에 대한 참조입니다.

Return Value

호스트에 addrinfo 대한 응답 정보를 포함하는 연결된 목록에서 nIndex에서 참조하는 구조체에 대한 포인터를 반환합니다.

CSocketAddr::GetAddrInfoList

목록에 대한 포인터를 반환하려면 이 메서드를 호출합니다 addrinfo .

addrinfo* const GetAddrInfoList() const;

Return Value

호스트에 대한 응답 정보를 포함하는 하나 이상의 addrinfo 구조체의 연결된 목록에 대한 포인터입니다. 자세한 내용은 addrinfo 구조를 참조 하세요.

참고 항목

클래스 개요