0

我正在开发一个围绕Binance 的 web socket stream 的web socket 包装器。System.IO.Pipelines 对我来说看起来很有趣,因为它解决了问题。

我很可能会采用以下实现之一:

我无法理解和之间的IDuplexPipe区别Pipe

IDuplexPipe 是支持读取和写入的类型的协定。例如,网络连接将由 IDuplexPipe 表示。

由于我正在处理的 Web 套接字包装器与 Binance 的 Web 套接字流有关,我假设我需要IDuplexPipe?

SignalR 使用IDuplexPipe并且 DotNet.Interactive.PowerShell 仅使用Pipe该类。您能否通过现实生活中的示例说明这两者之间的区别是什么,因为我不太了解微软的文档说明了什么。

4

1 回答 1

1

IDuplexPipe 文档:

定义一个类,该类提供可以从中读取和写入数据的双工管道。

IDuplexPipe 是一个接口,表示您可以使用 PipeReader 读取和使用 PipeWriter 写入的内容。
IO.Pipelines 管道只是一个缓冲区。

您链接的文档中对此进行了解释:https ://docs.microsoft.com/en-us/dotnet/standard/io/pipelines#pipe

Pipe 类可用于创建 PipeWriter/PipeReader 对。写入 PipeWriter 的所有数据都在 PipeReader 中可用:PipeWriter 将数据写入缓冲区,而 PipeReader 从中读取。

于 2021-12-10T13:12:10.543 回答