가능한 한 man 2 recv
recvmsg
반환MSG_TRUNC
MSG_TRUNC
indicates that the trailing portion of a datagram was dis‐
carded because the datagram was larger than the buffer sup‐
plied.
때로는 필드에서 매개변수 MSG_TRUNC
로도 사용할 수 있는 할당해야 하는 버퍼의 크기를 알고 싶기 때문입니다.flags
MSG_TRUNC (since Linux 2.2)
For raw (AF_PACKET), Internet datagram (since Linux
2.4.27/2.6.8), netlink (since Linux 2.6.22), and UNIX datagram
(since Linux 3.4) sockets: return the real length of the
packet or datagram, even when it was longer than the passed
buffer.
문서에는 또한 recvmsg
반환될 수도 있다고 명시되어 있습니다.MSG_CTRUNC
MSG_CTRUNC
indicates that some control data were discarded due to lack of
space in the buffer for ancillary data.
그러나 보조 데이터의 실제 길이를 얻을 수 있는 방법은 없습니다. Recvmsg가 MSG_CTRUNC
이를 수락하면 보조 데이터의 실제 크기를 얻을 수 있지 않나요 ?