如何最好地将数据从一个外部流连续移动到另一个



我有一个NamedPipeClientStream,我想以最有效的方式双向将它连接到TCPClient流(这样,当数据进入一个流时,它会被写入另一个流,反之亦然(。

是否有一种现有的简单异步方法将它们连接在一起?我的谷歌搜索失败了。

我计划使用continue-with:将一些异步任务链接在一起

ReadlineInA() -> WriteLineOutB() -> ReadLineInA() -> ...

和:

ReadLineInB() -> WriteLineOutA() -> ReadlineInB() -> ...

除非存在";"清洁剂";方法我研究了System.IO.Pipelines,但它似乎更多地解决了内部进程通信问题,而不是将两个外部流捆绑在一起。

回答了我自己的问题,这就是CopyToAsync方法的作用。我实际上在用。NET对象,所以在powershell 中就是这样做的

$namedToTCPTask = $tcpStream.CopyToAsync($pipeClient)
$TCPTonamedTask = $pipeClient.CopyToAsync($tcpStream)

最新更新