首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#和delphi开发的两个本地程序怎么进行进程间通信

2012-04-09 
C#和delphi开发的两个本地程序如何进行进程间通信?由于项目需要,C#写了一个监控程序,能实时监控本地和远程

C#和delphi开发的两个本地程序如何进行进程间通信?
由于项目需要,C#写了一个监控程序,能实时监控本地和远程信息,现在需要把监控所得的的信息传递给delphi写的另一个本地程序,这应该需要用进程间通信,目前想到的办法有共享内存,sendmessage ,以及socket,疑惑的是不同的开发语言,这些方式能否行得通?sendmessage得向窗口发送消息,于是我不考虑使用。传输的数据量很小,就0 1 2 3 这么几个状态,C#监控端发,而delphi写的程序只要能收到就好。但是要求实时性比较好。请求各位帮助,我在进程间通信方面所知甚少,对网络也不熟悉,请帮我分析有哪些可行方式,当然能提供一定代码的话,更是求之不得了。我分比较少,希望五十不要嫌少。

[解决办法]
socket当然行的通,跟语言无关,通过tcp协议,你只要做好链接和接收就行了
[解决办法]
socket挺好的,而且你只是在本地使用,也不用去考虑一般的网络异常情况

另外你可以考虑把数据放到数据库或者一个文件里,用sendmessage告诉对方有数据了,让对方自己去取
[解决办法]
1. WM_MESSAGE通过Win32API send/post message互相相应,适用于简单事件通知,不适合数据交互
2. PIPE
3. SOCKET
4. WebService
5. File + WM_MESSAGE
6. FileMapping
7. MSMQ
.........
[解决办法]
进程间的通信你可以参考下WCF中的通信方式,MSMQ,TCP,IPC都行

热点排行