我即将编写一个负责与外部硬件通信的“服务器”应用程序。应用程序应处理来自客户端的请求。客户端向服务器发送消息,如果服务器忙于处理硬件,则新消息应存储在稍后处理的队列中。
客户端也应该能够取消请求(如果它在服务器的队列中)。当服务器应用程序完成硬件后,它应该能够将结果发送回请求该作业的客户端。
服务器和客户端应用程序可能在也可能不在同一台 PC 上。所有开发均在 .NET (C#) 2005 中完成。
所以,我的问题是:解决这个沟通问题的最佳方法是什么?
MSMQ?肥皂?WCF?远程?其他?