【问题标题】:Java's PipedReader / PipedWriter equivalents in C#?C# 中 Java 的 PipedReader / PipedWriter 等价物?
【发布时间】:2010-12-25 05:03:20
【问题描述】:

我在 Java 中定义了一个 Pipe 类,使用 PipedReaderPipedWriter。我现在正在尝试将同一个类移植到 C#。是否可以在 C# 中完成以下代码所示的相同操作?

public final class Pipe {
    private final PipedReader pipedReader = new PipedReader();
    private final PipedWriter pipedWriter = new PipedWriter();

    public Pipe() {
        pipedWriter.connect(pipedReader);
    }

        ...
}

我猜我想在 C# 中为 PipedReaderPipedWriter 使用什么是 StreamReaderStreamWriter

有类似connect() 的方法吗?

编辑

所以,我的目标是实现一个(小)Pipe&Filter 框架。 我的想法是创建一个 Pipe 类和 Filter 类,这样当我需要使用 Pipe&Filter 架构风格实现某些系统时,我将针对我正在使用的这个小框架对其进行编码。 每个过滤器都会在自己的线程上运行。

谢谢

【问题讨论】:

  • 您能否对您要完成的工作进行更高级的描述,而不是用 Java 术语进行解释?也许在 .NET 中有一种完全不同的方法。
  • 你只是想做IPC吗?您可能对使用 System.IO.Pipes 命名空间中定义的命名或匿名管道感兴趣(注意:.NET 3.5 及更高版本)。

标签: c# .net stream


【解决方案1】:

我不确定这是否正是您要寻找的,但有一个关于使用 .Net 管道的教程here。这仅适用于 .Net 3.5+。

编辑:

MSDN 上有关于使用匿名管道的示例。见this link

【讨论】:

  • 我已经读过了。不过,我正在寻找未命名的管道。
  • 已编辑以包含指向 MSDN 上匿名管道示例的链接。
  • 没有什么更简单的吗?我不是在寻找 ipc,只是一种允许我跨线程顺序传递数据的方式(可能是流之类的东西)(最好以线程安全的方式)。
  • 我不知道 .Net 中的任何内容。您可能必须自己编写。我相信 Java 中的 pipedreader/writer 用于处理字符而不是字节。我在 .Net 中不知道有直接的等价物。有一个 StringReader 类和一个 StreamReader 类(这适用于字节,但允许将其他流传递到构造函数中)。
  • 实际上流阅读器类确实允许您阅读字符。 Read 方法有一个覆盖以返回 chars(字符的 int32 值)。
猜你喜欢
  • 2011-02-20
  • 2018-05-17
  • 2014-08-29
  • 2011-07-21
  • 1970-01-01
  • 2010-11-19
  • 2010-10-24
  • 1970-01-01
  • 2014-11-22
相关资源
最近更新 更多