需要在NamedPipe或UDP之间进行选择

时间:2015-02-09 04:28:58

标签: c# .net udp named-pipes udpclient

我和一位同事就选择进行了争论。 我们在同一台机器上运行了两个进程。

=> NamedPipe和UDP是KERNEL OBJECT,据我所知,这是相同的开销。

UDP的优势在于,如果明天我们将这两个进程分开,它们将在两台不同的计算机上运行,​​因此我无需进行任何更改。

我认为NamedPipe性能更好,因为不需要使用网卡将信息发送到同一台机器(我是对的..发送localhost会使用网卡 - 对吗?)

有人可以告诉我们吗?

由于

1 个答案:

答案 0 :(得分:4)

在实施之前,您可以关注以下几点:

命名管道

  1. 命名管道提供管道服务器与一个或多个管道客户端之间的进程间通信。

  2. 它们支持基于消息的通信,并允许多个客户端使用相同的管道名称同时连接到服务器进程。

  3. 命名管道还支持模拟,这使得连接进程可以在远程服务器上使用自己的权限。

  4. 用户数据报协议:

    1. 用户数据报协议(UDP)是一种简单的协议,可以尽最大努力将数据传送到远程主机。
    2. UDP协议是一种无连接协议,发送到远程端点的UDP数据报不保证到达,也不保证它们以与发送它们相同的顺序到达。
    3. 使用UDP的应用程序必须准备好处理丢失,重复和无序的数据报。