exe之间的通信



我有几个用户在一个Windows Server 2012上(他们正在使用远程桌面)。

我有两个(vb.net)程序,需要相互通信-那就是…每个用户都有两个需要通信的应用程序。

让两个应用程序在同一台机器上运行多个实例(每个RDS用户的实例)时进行通信的简单(和最可靠)方法是什么?

谢谢!

有很多选项:

  • 消息队列(以MSMQ为例)
  • ASP。. NET WebAPI自宿主
  • WCF self-host
也许,在您的情况下,我会选择使用消息队列。而且,由于MSMQ是Windows自带的(要安装它,请在控制面板中添加/删除Windows功能),而且。net框架已经支持它,它可能是一个很好的选择。

附注

当我提到WCF/WebAPI自宿主时,我的意思是每个进程可以有一个非常小的REST或SOAP(或其他)API,可以允许任何整个进程充当客户端和/或服务器。这是实现进程间消息传递的好方法

您可以:

1)使用SendMessage api - http://msdn.microsoft.com/en-gb/library/windows/desktop/ms644950(v=vs.85).aspx

2)运行客户端-服务器http://www.codeproject.com/Articles/12318/Building-Client-Server-applications-with-VB-NET-fo

3)使用UDP广播http://www.solidautomation.com/bryon/Using_UDP_and_Winsock_in_Visual_Basic_6.htm

可用选项进程间通信为:
WCF
Remoting
ASP。Net webservices
WM_COPYDATA
套接字编程

MSDN上的进程间通信将是资源

最新更新