이 클래스는 호스트 이름을 호스트 주소로 변환하고 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 구조를 참조 하세요.