zoukankan      html  css  js  c++  java
  • 反应器类型的操作

    有的时候程序必须依赖第三方库来完成I/O操作,鉴于这种情况,Boost::Asio提供了一个null_buffers 类型可以同时完成读和写操作,null_buffers 直到执行I/O操作的对象就绪才返回。
    下面是一个执行非阻塞的读操作的例子
    ip::tcp::socket socket(my_io_service);
    ...
    ip::tcp::socket::non_blocking nb(true);
    socket.io_control(nb);
    ...
    socket.async_read_some(null_buffers(), read_handler);
    ...
    void read_handler(boost::system::error_code ec)
    {
      if (!ec)  {
        std::vector<char> buf(socket.available());
        socket.read_some(buffer(buf));
      }
    }
      
      
      
    这些操作支持任意平台上的socket。
  • 相关阅读:
    14:求满足条件的3位数
    1696:逆波兰表达式
    筛法求素数 6分
    1751:分解因数
    1750:全排列
    1788:Pell数列
    666:放苹果
    06:寻宝
    04:最匹配的矩阵
    雷电
  • 原文地址:https://www.cnblogs.com/learn-my-life/p/5272188.html
Copyright © 2011-2022 走看看