簡體   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