首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >双向客户端服务器架构/实现

双向客户端服务器架构/实现
EN

Stack Overflow用户
提问于 2009-06-08 14:51:33
回答 4查看 1.4K关注 0票数 0

我有一个系统,其中我需要在客户端和服务器之间进行双向通信。在某些情况下,客户端需要启动与服务器的通信,以询问问题、查询状态、获取一些数据等。{我们有一个执行重复任务、监控、报告生成、警报等的AI系统,以及允许我们与服务器交互的客户端应用程序。}在其他情况下,服务器需要向客户端报告状态的某些变化或警报。我们使用.NET来实现该系统,并研究了许多不同的架构:

A)打开TCP通道,在低层管理通信。这似乎满足了我们的需求,但一直相当不稳定,主要是因为我们的团队缺乏在低级通信协议方面的良好经验。

B)使用两个系统都充当主机的.NET远程处理-客户端将服务器注册为远程处理主机,一旦建立了连接,服务器就继续进行操作,并在不同的通道下将客户端注册为远程处理主机。这似乎适用于基本的消息传递,但在某些情况下,我们需要维护客户端和服务器之间的“对话”。在这种架构下拥有多个客户端似乎有点挑战。

C)忘记双向通信,使用轮询架构来轮询服务器上的新消息-工作正常,但创建了一个过度聊天的系统,并使客户端和服务器之间的“对话”具有挑战性。

对最好的方法有什么想法吗?有什么不同的推荐方法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-06-08 14:58:07

看看WCF中的Duplex Services --这可能是一种无需担心底层管道而获得所需内容的方法。

票数 1
EN

Stack Overflow用户

发布于 2009-06-08 15:01:32

我对将XMPP作为一种用于这种双向通信的协议有很好的经验(在“概念证明”级别--还没有将其部署到生产环境中);虽然主要考虑的是交互式聊天应用程序,但它实际上是一个通用协议,并且它确实有.NET实现。Microsoft的替代方案可能是MSMQ。

票数 1
EN

Stack Overflow用户

发布于 2009-06-08 14:59:08

WCF似乎是一个很好的选择。在CodeProject上有一个相当好的教程,它描述了如何实现一个客户端/服务器聊天应用程序。

还有一系列由同一作者制作的网络广播herebook

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/965268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档