【问题标题】:How to get if there is any data avaliable on socket to read in boost::asio?如何获取套接字上是否有任何数据可以在 boost::asio 中读取?
【发布时间】: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


    【解决方案1】:

    bytes_readable 功能。使用它,您可以检查是否有数据可供读取而不会阻塞。

    【讨论】:

      【解决方案2】:

      另一个可能更简单的方法是boost::asio::ip::tcp::socket::available() 非阻塞函数:

      asio::ip::tcp::socket *s;
      . . .
      size_t availBytes = s->available();
      if (availBytes > 0)
      {
      . . .
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-09
        • 1970-01-01
        • 2019-03-11
        • 1970-01-01
        • 2015-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多