繁体   English   中英

如何跨语言在多个应用程序之间建立通信

[英]How do I establish communication between multiple applications across languages

我目前有两个与同一操作相关的程序。 程序A(用vb6编写)是一种“控制器”,可以打开设备并启动程序B(用C ++编写),启动设备数据的集合。 现在,程序B需要一种方法将一些MINOR数据报告回程序A.程序A还需要监视某些额外的数据,如果信号1触发,则需要让程序B知道。 建立这种沟通的最佳方式是什么? 显而易见的方法是每个程序读取和写入的文本/二进制文件(没有接近最佳方式),并且我还考虑使用UDP进行通信,因为机器将在封闭的网络上。 但是,我不确定我应该怎么做呢?

命名管道是一个优雅的解决方案,但你甚至可以像你说的那样使用文件。

http://support.microsoft.com/kb/177696

如何使用命名管道(C ++服务器,C#客户端)

还有其他选择:剪贴板,COM,数据复制,DDE,文件映射,Mailslots,管道,RPC,Windows套接字

请参阅此处: http//msdn.microsoft.com/en-us/library/windows/desktop/aa365574%28v=vs.85%29.aspx

你是如何打开设备并启动程序B的?

我会使用相同的通道进行额外的通信,因为这条线路已经存在且工作正常(因为程序B已启动)

我个人会选择建立通信并使用标准协议传输数据,如FTP或HTTP。 这样,当您的程序A或程序B发生变化(或者连接介质换成另一个)时,您仍然可以拥有定义明确且易于实现的通信协议。 网络堆栈可用于各种CPU和操作系统,FTP(或TFTP)易于实现。

暂无
暂无

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

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