
msghdr 通常指 POSIX/Linux 套接字编程中的 **struct msghdr**(消息头/消息描述结构体),用于在 sendmsg() / recvmsg() 系统调用中描述一次收发消息所需的各类信息(如目标地址、数据缓冲区数组、辅助数据等)。在某些场景下它也被当作“message header(消息头)”的缩写来使用。
/m s di et di r/
I filled a struct msghdr before calling sendmsg().
我在调用 sendmsg() 之前填好了一个 struct msghdr。
In recvmsg(), the msghdr structure can carry both the payload and ancillary data like file descriptors.
在 recvmsg() 中,msghdr 结构不仅能携带正文数据,还能携带诸如文件描述符等辅助数据(ancillary data)。
msghdr 可视为 “msg(message,消息)+ hdr(header,头部)” 的缩写形式;在 Unix/POSIX 套接字 API 中,struct msghdr 被用作“消息的整体描述”,并在 Linux 手册页与相关系统编程书籍中广泛出现。
sendmsg(2)、recvmsg(2) 手册页中大量使用 struct msghdr sendmsg/recvmsg 时涉及 msghdr msghdr