【发布时间】:2017-05-25 09:10:51
【问题描述】:
我有一个boost::asio::ip::tcp::socket,想确定套接字是否包含可供读取的数据。我读到了available(),但是如果有可用数据,该函数有时也会返回0(以防它可以在没有阻塞的情况下读取)。可执行文件在 Ubuntu 上运行 - 也许系统调用会有所帮助?
【问题讨论】:
-
如果没有数据可供读取,我会继续并稍后再查看。我知道 async_read 也可以解决这个问题,但是我已经有一个很大的轮询循环,所以如果有一种简单的方法可以检查可用字节,那将是完美的。
-
反对票:你为什么反对票?我可以添加更多重要信息吗?
-
正如你所说,我只需要知道套接字是否包含可读数据。有这样的功能吗?
-
也许stackoverflow.com/q/12984816/1741542 会回答你的问题。
标签: c++ sockets ubuntu boost boost-asio