다음을 통해 공유


CSADDR_INFO 구조체(ws2def.h)

CSADDR_INFO 구조에는 소켓, 네트워크 서비스 또는 네임스페이스 공급자에 대한 Windows 소켓 주소 정보가 포함됩니다.

구문

typedef struct _CSADDR_INFO {
  SOCKET_ADDRESS LocalAddr;
  SOCKET_ADDRESS RemoteAddr;
  INT            iSocketType;
  INT            iProtocol;
} CSADDR_INFO, *PCSADDR_INFO, *LPCSADDR_INFO;

멤버

LocalAddr

형식: SOCKET_ADDRESS

Windows 소켓 로컬 주소입니다.

클라이언트 애플리케이션에서 이 주소를 bind 함수에 전달하여 네트워크 서비스에 대한 액세스를 가져옵니다.

네트워크 서비스에서 서비스가 적절한 로컬 주소에 바인딩되도록 이 주소를 bind 함수에 전달합니다.

RemoteAddr

형식: SOCKET_ADDRESS

Windows 소켓 원격 주소입니다.

이 원격 주소에는 다음과 같은 여러 가지 용도가 있습니다.

  • 이 원격 주소를 사용하여 connect 함수를 통해 서비스에 연결할 수 있습니다. 이는 애플리케이션이 연결 지향 프로토콜을 포함하는 수신 보내기/ 작업을 수행하는 경우에 유용합니다.
  • 연결 없는(데이터그램) 프로토콜을 통해 통신할 때 sendto 함수와 함께 이 원격 주소를 사용할 수 있습니다. UDP와 같은 연결 없는 프로토콜을 사용하는 경우 sendto 는 일반적으로 원격 시스템에 데이터를 전달하는 방법입니다.

iSocketType

형식: INT

Windows 소켓의 유형입니다. 소켓 형식에 대한 가능한 값은 Winsock2.h 헤더 파일에 정의되어 있습니다.

다음 표에서는 Windows 소켓 2에 지원되는 가능한 값을 나열합니다.

의미
SOCK_STREAM
스트림 소켓입니다. 메시지 경계 없이 데이터를 바이트 스트림으로 보내는 프로토콜입니다. 이 소켓 유형은 OOB 데이터 전송 메커니즘을 사용하여 시퀀스된 신뢰할 수 있는 양방향 연결 기반 바이트 스트림을 제공합니다. 이 소켓 유형은 인터넷 주소 패밀리(AF_INET 또는 AF_INET6)에 TCP(Transmission Control Protocol)를 사용합니다.
SOCK_DGRAM
데이터그램 소켓입니다. 이 소켓 형식은 고정(일반적으로 작은) 최대 길이의 연결이 없고 신뢰할 수 없는 버퍼인 데이터그램을 지원합니다. 이 소켓 유형은 인터넷 주소 패밀리(AF_INET 또는 AF_INET6)에 UDP(사용자 데이터그램 프로토콜)를 사용합니다.

서비스는 recvfrom 함수를 사용하여 데이터그램을 가져옵니다. 수신 대기수락 함수는 데이터그램에서 작동하지 않습니다.

SOCK_RDM
신뢰할 수 있는 메시지 데이터그램 소켓입니다. 이 소켓 형식은 데이터의 메시지 경계를 유지합니다. 이 유형의 예로 Windows에서 PGM(실용 일반 멀티캐스트) 멀티캐스트 프로토콜 구현이 있으며, 이를 신뢰할 수 있는 멀티캐스트 프로그래밍이라고도 합니다.
SOCK_SEQPACKET
시퀀스된 패킷 스트림 소켓입니다. 이 소켓 유형은 데이터그램을 기반으로 의사 스트림 패킷을 제공합니다.

iProtocol

형식: INT

사용되는 프로토콜입니다. 프로토콜 매개 변수에 대한 가능한 옵션은 지정된 주소 패밀리 및 소켓 유형에 따라 다릅니다. 가능한 값은 Winsock2.hWsrm.h 헤더 파일에 정의됩니다.

Windows Vista 이상용으로 릴리스된 Windows SDK에서 헤더 파일의 organization 변경되었으며 이 매개 변수는 Ws2def.h 헤더 파일에 정의된 IPPROTO 열거형 형식의 값 중 하나일 수 있습니다. Ws2def.h 헤더 파일은 Winsock2.h에 자동으로 포함되며 직접 사용하면 안 됩니다.

아래 표에는 다른 많은 값이 가능하지만 프로토콜 에 대한 일반적인 값이 나열되어 있습니다.

protocol 의미
IPPROTO_TCP
6
TCP(Transmission Control Protocol). 주소 패밀리가 AF_INET 또는 AF_INET6iSocketType 멤버가 SOCK_STREAM 경우 가능한 값입니다.
IPPROTO_UDP
17
UDP(사용자 데이터그램 프로토콜)입니다. 주소 패밀리가 AF_INET 또는 AF_INET6iSocketType 멤버가 SOCK_DGRAM 경우 가능한 값입니다.
IPPROTO_RM
113
신뢰할 수 있는 멀티캐스트용 PGM 프로토콜입니다. 주소 패밀리가 AF_INETiSocketType 멤버가 SOCK_RDM 경우 가능한 값입니다. Windows Vista 이상용으로 릴리스된 Windows SDK에서 이 값을 IPPROTO_PGM라고도 합니다.

설명

GetAddressByName 함수는 CSADDR_INFO 구조를 사용하여 Windows 소켓 주소 정보를 가져옵니다.

SO_BSP_STATE 소켓 옵션을 사용하여 호출된 getsockopt 함수는 지정된 소켓에 대한 CSADDR_INFO 구조를 검색합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 ws2def.h(Nspapi.h 포함)

참고 항목

GetAddressByName

SOCKET_ADDRESS

SO_BSP_STATE

bind

connect

getsockopt

Recv

send

Sendto