如何使用boost :: process :: child处理无限流?

时间:2019-05-19 23:56:37

标签: boost stream protocols boost-process

因此,我目前正在使用boost::process::ipstream来读取孩子的stdout。我尝试实现其协议的程序不会以任何方式对流进行定界,因此我不确定应该如何去读取响应(因为没有明确的“响应结束”令牌,例如换行符)等)

应该如何处理呢?

如果我只写in.read(buffer, x);,其中x的值小于或等于响应的长度,则可以成功读取响应的子字符串。但是,如果我尝试通过定义的缓冲区大小读取整个响应,则它会在尝试读取最终缓冲区块时阻塞。

我看过是否有值得尝试的骇客技巧,例如程序会回显给用户的某种指定令牌-因此您可以将其用作分隔符。到目前为止,我什么都没找到。

任何指导将不胜感激。

谢谢。

0 个答案:

没有答案