2009-07-14 53 views

回答

2

我强烈记得文件描述符只有在经过Unix的数据报套接字,不是Unix流套接字工作。这也可能需要重新发送。你的例子太大了(我太懒了)做一个适当的分析,但看看here的替代示例代码。我在FreeBSD和Linux上都使用过这个例子,它可以工作。

+0

谢谢,您引用的代码在我的环境中也能正常工作。 但问题是,当我设置msg.msg_iovlen = 0和msg.msg_iov = NULL时,它不能在ubuntu上工作(我不确定其他风格的linux/unix的行为)。 recvmsg()不返回并阻止等待消息。我在我的帖子中提到的例子,设置msg.msg_iov = NULL。 – harishvk27 2009-07-14 17:27:15