2009-07-06 74 views
2

当我使用receive_from()方法时,得到错误消息“资源暂时不可用”,它是ip :: udp :: socket located here的成员。资源在Boost ASIO中暂时不可用

我传递给它:boost :: asio :: buffer,指向端点对象的指针,flags(设置为0)和一个error_code对象。

我创建只是

new udp::endpoint() 

似乎没有要在此错误信息提供的信息太多太端点。我在几台机器上试过了,总是出现这个错误。

回答

3

“资源暂时不可用”通常是EAGAIN的文本说明,表示该操作应该重试。在UDP的情况下,它表示目前没有任何数据可用,您应该稍后再尝试。

通常值得关注底层libc函数的手册页;在这种情况下是recvfrom

+0

我看到了......我正在用我写的另一个程序发送数据包,这很好,因为我可以用tcpdump看到数据包。那么,如果数据被机器接收到,数据如何不可用? – devin 2009-07-07 02:26:26

相关问题