繁体   English   中英

Boost.Asio:如何编写自定义AsyncReadStream?

[英]Boost.Asio: How to write a custom AsyncReadStream?

我编写了一个程序(除其他事项外),它创建子进程并通过侦听其stdout接收来自它们的通知。 这种进程间的通信机制很好,但是我正陷入僵局。

我以为我可以使用Boost.Asio(已经在程序的其他部分用于联网目的)及其Proactor Pattern实现来使我的程序(主要是单线程)成为可能。 这样,我就不必再麻烦线程同步了。

为此,我的猜测是我必须编写一个可与​​asio :: async_read _ *()函数一起使用的自定义AsyncReadStream类型(它将在线程中调用Windows的ReadFile())。 我的问题是我不知道如何实现AsyncReadStream概念的async_read_some()成员函数。 我应该对函数接收的MutableBufferSequence引用做什么?

那是正确的方法吗? 如果是这样,我应该如何实现async_read_some()? 也许这不是正确的方法,我除了编写整个定制服务外别无选择?

通过管道的进程间通信在Boost.Process中实现。 尽管该库还不是Boost的一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM