windows - Windows 上 IPC 的命名管道与 UDP

标签 windows udp ipc named-pipes

为什么命名管道更适合本地 Windows 机器上的 IPC(进程间通信)而不是 UDP?或者 UDP 有时可能在某个地方更好?

最佳答案

即使在本地主机上的 UDP 数据包也可能丢失。此外,由于 UDP 是基于数据报的并且无法保证交付,因此很难传输较大的数据 block 。最后,本地主机上的 UDP 有时会被浏览器阻止。一般来说,单机IPC通常不考虑UDP。

在 Windows 上,我推荐内存映射文件 + 同步原语作为最快且可能是最简单的方法。当您管理命名管道工作时,命名管道通常运行良好,但我在这里看到很多关于如何使命名管道工作的问题(而且我还没有看到任何关于 MMF 的投诉)。

我们有一个产品 MsgConnect,它提供基于套接字、UDP 和 MMF 的传输,适用于本地或跨网络的 IPC,因此我对这个主题有实践经验。命名管道曾被考虑支持,但后来放弃了这个想法,转而支持其他机制。

关于windows - Windows 上 IPC 的命名管道与 UDP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6494993/

相关文章:

php - 无法从 Windows 7 64 位 Apache 2.4 上的 PHP 5.5.4 连接到 LDAPS 服务器

c# - 在 C# 应用程序与 Windows 和 Web UI 之间共享表示逻辑

java - 发送DHT查询到 "router.bittorrent.com"响应乱码

java - Java (Android) 中的 UDP 客户端,用于从 X-Plane 12 获取数据

windows - 在不同进程之间共享 HDC

python /POpen/gpg : Supply passphrase and encryption text both through stdin or file descriptor

perl - 在 Perl 中执行后将数据从子级传递给父级

c# - 如何使用c#从应用程序的安装文件夹中读取文件?

Python/Django开发,windows还是linux?

c - 接收UDP数据时移动OpenGL机械臂?