0

我必须使用recvfrom()从多个接口接收(在编译时未知,并且还需要保留消息的确切顺序,而不是使用单独的系统调用依次从每个接口接收),但我还需要访问一些标志仅recvmsg()提供(通过flags调用修改的消息头字段)。

有没有办法用来recvfrom()填充msgheader类似的recvmsg()

4

1 回答 1

4

recvmsg()是 的函数超集recvfrom(),就像recvfrom()的函数超集一样recv()。换句话说,recvmsg()是三个功能中最强大的一个,其他两个可以做的事情你也可以做recvmsg()

特别recvfrom()是,它的主要特点是它返回接收到的消息的发件人地址。使用 时可以获得相同的信息recvmsg():查看 . 的msg_namemsg_namelen元素struct msghdr

于 2013-04-09T15:25:29.593 回答