进程间通信和BroadCasting

时间:2014-02-14 14:30:05

标签: c# named-pipes interprocess broadcasting

我正在进行一个进程间通信。我遇到了命名管道通信。

我已经有了一些基本想法,但需要确定以下几点?

  1. 名称管道是否可以同时拥有多个客户端?

  2. 它是否支持通过不同语言构建的不同流程进行通信。

  3. 请告诉我,命名管道通信与进程间通信的广播有什么区别?

1 个答案:

答案 0 :(得分:5)

不,单个管道仅支持单个客户端。与Web服务器非常相似,它还为每个客户端创建多个连接。管道服务器以相同的方式工作。

是的,在进程之间桥接是命名管道的主要用例。

Windows支持另一个广播对象,即邮件槽。它从未被移植到.NET,它是无用的。广播不可靠,就像在拥挤的足球场大喊大叫,没有任何人能听到你的保证。如果您需要广播,那么您应该考虑使用UDP套接字。当然还要处理随机丢失数据的后果。

如果考虑命名管道,WCF是通常的建议。它在它们上面放置一层,使它们更容易使用。