目标需求:
我这里有两个客户端应用c1和c2,c1需要通过c2获取一部分数据。
请问,类似的场景,通常情况下通过什么方式来处理?
谢谢各位:)
c1需要通过c2获取一部分数据,最直接的做法,c1和c2通过TCP来进行数据处理。
不过在.NET中给咱们提供了全能的WCF,所以这里可以使用WCF来做,让c2作为WCF的宿主,然后c1通过WCF来和c2交互。
还有你可以使用MSMQ来搞,呵呵!
你可以通过共享内存区操作的方法来访问数据。
既是c1,c2将要共享的数据写入指定的系统内存区,可以随意读取。
第二种方法是通过Remoting访问。
不太建议WCF跑进程间这样的小型应用,因为很麻烦,效率不见得比以上高多少。
WCF或者Remoting的方式
推荐用WCF
1、也可以用TCP(UDP)进行通讯。用C2做临时服务,C1去连接。
2、或者C2使用固定的名称,C1用Api去找C2的句柄,然后用postmessage传递。
PS:如果没有固定的服务端,不推荐WCF。
我正在做winform的插件式开发,其中就有通讯,有空交流QQ:490521881。
remoting,其实WCF也是对remoting的封装利用