使用0 bytes_transferred调用提升asio async_receive完成处理程序,没有任何错误

时间:2014-02-24 12:40:47

标签: boost boost-asio

我正在调试一个提升asio unix域协议客户端,在我发出async_receive后,完成处理程序被无限调用0 bytes_transferred,没有错误传递给完成处理程序。错误代码是成功的。

1 个答案:

答案 0 :(得分:3)

最后我把问题钉在了一起,我在这里发布了答案,只是因为某些其他人很可能会遇到同样的问题。

如果传递给async_receive函数的boost :: asio :: buffer的长度为0,则完成处理程序将进入无限循环。在我的情况下,我传递的是大小为0的向量。