我在一个 Windows Server 2012 上有几个用户(他们正在使用远程桌面)。
我有两个(vb.net)程序,需要相互通信 - 也就是说......每个用户都有两个需要通信的应用程序。
当多个实例在同一个盒子上运行时(每个 RDS 用户的实例上),让两个应用程序进行通信的最简单(也是最可行)的方法是什么?
谢谢!
我在一个 Windows Server 2012 上有几个用户(他们正在使用远程桌面)。
我有两个(vb.net)程序,需要相互通信 - 也就是说......每个用户都有两个需要通信的应用程序。
当多个实例在同一个盒子上运行时(每个 RDS 用户的实例上),让两个应用程序进行通信的最简单(也是最可行)的方法是什么?
谢谢!
有很多选择:
也许,在你的情况下,我会去使用消息队列。而且,由于 MSMQ 随 Windows 一起提供(要安装它,请转到控制面板中的添加/删除 Windows 功能)并且 .NET Framework 对其提供开箱即用的支持,因此它可能是一个不错的选择。
当我提到 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 上的进程间通信将是资源