Sử dụng recvmmsg để nhận được nhiều gói datagram (ví dụ UDP)
int recvmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen,
unsigned int flags, struct timespec *timeout);
DESCRIPTION
The recvmmsg() system call is an extension of recvmsg(2) that allows
the caller to receive multiple messages from a socket using a single
system call. ...
http://man7.org/linux/man-pages/man2/recvmmsg.2.html
Sử dụng sendmmsg để gửi ...
int sendmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen,
unsigned int flags);
DESCRIPTION
The sendmmsg() system call is an extension of sendmsg(2) that allows
the caller to transmit multiple messages on a socket using a single
system call.
http://man7.org/linux/man-pages/man2/sendmmsg.2.html
Nó không được cung cấp bởi BSD API (đó là những gì bạn ca lled "gia đình cuộc gọi socket"). – nouney
Trên linux, bạn có thể muốn xem smmall sendmmsg – PlasmaHH