【发布时间】:2013-04-16 11:58:37
【问题描述】:
是否有任何 bool - has data/has not 或替代方案?不需要实际读取 - 仅作为同步方法是否有数据可在 sockety 上读取的信息。那么boost::asio::tcp::ip::socket中的socket to read方法有没有这样的数据可用?
【问题讨论】:
标签: c++ sockets boost boost-asio
是否有任何 bool - has data/has not 或替代方案?不需要实际读取 - 仅作为同步方法是否有数据可在 sockety 上读取的信息。那么boost::asio::tcp::ip::socket中的socket to read方法有没有这样的数据可用?
【问题讨论】:
标签: c++ sockets boost boost-asio
有bytes_readable 功能。使用它,您可以检查是否有数据可供读取而不会阻塞。
【讨论】:
另一个可能更简单的方法是boost::asio::ip::tcp::socket::available() 非阻塞函数:
asio::ip::tcp::socket *s;
. . .
size_t availBytes = s->available();
if (availBytes > 0)
{
. . .
}
【讨论】: