我有一个系统,我需要客户端和服务器之间的双向通信。在某些情况下,客户端需要发起与服务器的通信以提出问题,查询状态,获取一些数据等。{我们有一个AI系统,用于执行重复性任务,监控,报告生成,警报等,以及客户端应用程序允许我们与服务器进行交互。}在其他情况下,服务器需要向客户端报告状态变化或警报。我们使用.NET来实现系统,并考察了一些不同的架构:双向客户端服务器架构/实现
A)打开一个TCP通道和低级别管理通信。这似乎满足我们的需求,但主要是因为我们的团队缺乏低级别通信协议的丰富经验,所以一直相当不稳定。
B)使用.NET远程处理,其中两个系统都充当主机 - 客户端将服务器注册为远程主机,并且一旦建立连接,服务器就会继续并将客户端作为远程主机注册渠道。这对于基本的消息传递来说似乎没有问题,但是有些情况下我们需要在客户端和服务器之间保持“对话”。在这种体系结构下多客户似乎有点具有挑战性。
C)忘了双向通信,并使用轮询架构来轮询新邮件的服务器 - 工作好而造成的过度健谈系统,使客户端和服务器之间的具有挑战性的“对话”。
上最好的办法思绪之中的任何?建议采用不同的方法?