Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我必须使用recvfrom()从多个接口接收(在编译时未知,并且还需要保留消息的确切顺序,而不是使用单独的系统调用依次从每个接口接收),但我还需要访问一些标志仅recvmsg()提供(通过flags调用修改的消息头字段)。
recvfrom()
recvmsg()
flags
有没有办法用来recvfrom()填充msgheader类似的recvmsg()?
msgheader
recvmsg()是 的函数超集recvfrom(),就像recvfrom()的函数超集一样recv()。换句话说,recvmsg()是三个功能中最强大的一个,其他两个可以做的事情你也可以做recvmsg()。
recv()
特别recvfrom()是,它的主要特点是它返回接收到的消息的发件人地址。使用 时可以获得相同的信息recvmsg():查看 . 的msg_name和msg_namelen元素struct msghdr。
msg_name
msg_namelen
struct msghdr