反应器类型的操作

Posted 莫嗔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反应器类型的操作相关的知识,希望对你有一定的参考价值。

有的时候程序必须依赖第三方库来完成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。

以上是关于反应器类型的操作的主要内容,如果未能解决你的问题,请参考以下文章

Reactor-反应器模式

打字稿反应组件中的反应/道具类型eslint错误

使用多个(最新)第 3 方反应库反应“未捕获的不变违规:元素类型无效”

使用 NextJS 和 Next-CSS 做出反应:您可能需要适当的加载器来处理这种文件类型

反应类型错误“不可分配给'从不'类型的参数”

如何创建具有正确类型的反应组件映射[重复]