【发布时间】:2010-12-13 18:56:51
【问题描述】:
我想启动一个外部应用程序,并捕获它的输出。
这很简单,使用 Diagnostics.Process 及其OutputStream。
但是,我生成二进制数据的过程,我需要将其捕获为Stream,而不是文本StreamWriter
有没有办法获取底层的原始二进制流?
目前,我通过启动一个看起来像这样的批处理文件来破解它:
myapplication | socat stdin tcp-connect:localhost:12345
在我的代码中,我创建并侦听 TCP 套接字。虽然这个 hack 有效,但它有点难看,我更喜欢直接使用外部进程。
(我不能做的一件事是使用本地文件,因为数据本质上是实时的)
【问题讨论】: