Я хочу запустить внешнее приложение и записать его вывод.
Это довольно просто, используя Diagnostics.Process
и OutputStream
.
Однако, процесс, который я сгенерировал двоичные данные, которые мне нужно записать как Stream
, а не как текстовый StreamWriter
Есть ли способ получить базовый необработанный двоичный поток?
В настоящее время я взломал его, запустив командный файл, который выглядит следующим образом:
myapplication | socat stdin tcp-connect:localhost:12345
И в своем коде я создаю и слушаю на сокете TCP. хотя этот хак работает, он немного уродлив, и я предпочитаю использовать внешний процесс напрямую.
(Одна вещь, которую я не могу сделать, - это использовать локальные файлы, так как данные в реальном времени по своей природе)