我想启动一个外部应用程序,并捕获其输出。使用 Diagnostics.Process 和它的 OutputStream 就很容易实现。但是,我生成的进程产生了二进制数据,我需要将其作为 Stream 捕获,而不是文本的 StreamWriter。
有没有办法获取底层的原始二进制流?
目前,我通过启动一个类似以下批处理文件的方式来解决这个问题:
myapplication | socat stdin tcp-connect:localhost:12345
在我的代码中,我创建并监听一个 TCP socket。虽然这种方法可以解决问题,但它有点丑陋,我更喜欢直接使用外部进程。
(我不能使用本地文件,因为数据是实时的)
有没有办法获取底层的原始二进制流?
目前,我通过启动一个类似以下批处理文件的方式来解决这个问题:
myapplication | socat stdin tcp-connect:localhost:12345
在我的代码中,我创建并监听一个 TCP socket。虽然这种方法可以解决问题,但它有点丑陋,我更喜欢直接使用外部进程。
(我不能使用本地文件,因为数据是实时的)