recvmsg 에 대한 질문입니다.
글쓴이: air74 / 작성시간: 토, 2004/12/18 - 9:23오전
아리송 합니다.
recvfrom 하면 data 가 받아지며 받은 data 수 만큼 return 값을 주지만 recvmsg 를 사용하면 return 값이 0 이 됩니다.
이유를 모르겠습니다. man page 에 의하면 recvmsg 도 받은 byte 수를 return 하는거 같은데..
혹시 원인 아시는 분은 알려주시면 고맙겠습니다.
struct iovec iovector[2]; struct msghdr hdr; bzero(&hdr, sizeof(hdr)); hdr.msg_name = &addr; hdr.msg_namelen = addrlen; hdr.msg_iov = iovector; hdr.msg_iovlen = 2; hdr.msg_control = NULL; hdr.msg_controllen = 0; hdr.msg_flags = 0; rval = recvmsg(sock_fd, &hdr, 0); /* -> 항상 리턴값 0 data 안 받아짐 */ bufferlen = 1500; rval = recvfrom(sock_fd, buffer_test, bufferlen, 0, (struct sockaddr *)&client_addr, &client_len); /* 정확하게 받은 바이트 return */
Forums:
댓글 달기