繁体   English   中英

同一台机器上的两个程序相互通信的最佳方法是什么

[英]What is the best way for two programs on the same machine to communicate with each other

我需要将一些数据(整数)从一个(C ++)程序传递到另一个(C#)。 最快的方法是什么?

PS:操作系统:Windows XP

我个人对此的偏好,因为你使用的是C ++和C#,而且它们在同一个系统上,就是使用Pipes。

它们通过本机代码(C ++)以及通过NamedPipeClientStreamNamedPipeServerStream从C#运行良好。

但是, 进程间通信还有其他选项,其中任何一个都可以使用。

共享内存将是最快的,但命名管道也非常快,也更容易使用。

查看本文以了解可用选项的细分。 你最好的选择可能是一个管道

使用文件是最简单的方法。 如果您需要速度,那么网络套接字可能是一个不错的选择。

如果您的通信是单向的并且您的消息很小,则可以使用邮件槽。 否则我建议使用命名管道(正如其他人推荐的那样)。

这是mailslots上的东西

所有IPC机制

如果它是有用的,如果这是进程间通信并不重要(如果你需要的功能可以形成一个使用或类似的DLL),你可以使用公共语言运行时进行互操作。

我的建议是套接字或RPC。 我不熟悉管道,但它似乎也是一个受欢迎的选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM