2009-07-14 71 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