* ACE에서 UDP 소켓을 의미한다.
- 아래 설명은 레퍼런스를 참조했지만 약간 자의적으로 적은 부분도 있다는 점을 밝힙니다.
ACE_SOCK 메소드 #
int set_option (int level, int option, void *optval, int optlen) const int get_option (int level, int option, void *optval, int *optlen) const
int close (void)현재 소켓을 닫는다.
int get_local_addr (ACE_Addr &) constopen() 또는 생성자에서 지정한 현재 소켓의 지역주소를 반환.
메소드 설명 #
ACE_SOCK_Dgram () ACE_SOCK_Dgram (const ACE_Addr &local, int protocol_family=ACE_PROTOCOL_FAMILY_INET, int protocol=0, int reuse_addr=0) ACE_SOCK_Dgram (const ACE_Addr &local, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g=0, u_long flags=0, int reuse_addr=0)
생성자.
sendto와
recvfrom을 의미. buf의 내용을 n 바이트 만큼 송수신한다.
recvmsg ,
sendmsg와 동일. 주어진 n 바이트를 초과하는 부분은 무시된다. 여기서 n은 iovec 배열 전체의 바이트 합계를 의미한다.
int open (const ACE_Addr &local, int protocol_family=ACE_PROTOCOL_FAMILY_INET, int protocol=0, int reuse_addr=0) int open (const ACE_Addr &local, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g=0, u_long flags=0, int reuse_addr=0)기본생성자를 사용하여 생성하였을 경우 별도로 초기화할때 사용.
ssize_t send (const void *buf, size_t n, const ACE_Addr &addr, int flags=0) const ssize_t recv (void *buf, size_t n, ACE_Addr &addr, int flags=0) const각각
ssize_t send (const void *buf, size_t n, const ACE_Addr &addr, int flags, const ACE_Time_Value *timeout) const ssize_t recv (void *buf, size_t n, ACE_Addr &addr, int flags, const ACE_Time_Value *timeout) const위 send/recv의 타임아웃버전.
ssize_t recv (iovec *io_vec, ACE_Addr &addr, int flags=0, const ACE_Time_Value *timeout=0) const읽어들일 버퍼에 메모리가 확보하지 않은 상태에서 소켓에서 읽어들일 수 있도록 허락한다. 이 메소드는 소켓에 얼마나 데이타가 있는지를 감지한다음, 데이타 크기에 맞게 버퍼를 할당하고, 데이타를 읽어들인다음, 읽어들인 데이타 바이트 수를 반환한다. 나중에 버퍼를 적당히 처리한 다음에는 io_vec->iov_base를 delete [] 해주어야만 한다.
ssize_t send (const iovec iov[], int n, const ACE_Addr &addr, int flags=0) const ssize_t recv (iovec iov[], int n, ACE_Addr &addr, int flags=0) const








![[http]](/wiki/imgs/http.png)
