繁体   English   中英

帮我解决.NET实时应用程序的问题

[英]Help me a solution for a .NET real-time application

我正在开发一个包含服务器应用程序和客户端应用程序的系统,请注意:客户端数量可能达到数百万。 这些是我的要求:

  • 客户端必须对服务器进行身份验证(用户名和密码)才能接受连接。 客户端将监听服务器,并接收服务器发送的所有数据。
  • 当服务器中有数据时,服务器将发送到所有连接的客户端。

请帮我一些解决方案。 注意:客户端是WinForm应用程序,服务器是任何类型的应用程序,它可以将数据发送到所有连接的客户端。

P / S:目前,我的项目使用.NET Remoting,但由于服务器无法将数据发送到客户端,因此它不适合我的要求。 我有个窍门:每个客户端每2秒就会向服务器发送一次请求,以检查服务器是否有新数据。 如果是,则客户端将接收数据。 我需要一个新的解决方案来替换。

谢谢。

看看Duplex WCF服务

警告词,这不适用于https。

另外, Windows Azure Service Bus也支持双工通信。

那么,您需要首先问自己和重要的问题,是否真的需要2秒的轮询间隔? 你能减少它的频率吗?

实际上,您是否要使用频繁的轮询,还是要使用另一种技术,例如长时间轮询(将连接保持打开状态直到有新数据,然后将其关闭并重新创建)或使用真正的彗星/ PUSH设置,例如连接始终处于打开状态。

另一个重要的问题是,几个用户将使该站点承受多少负载? 一百,一百万?!

如果您使用的是Web服务,我认为它是无法实现的,因为它始终是同步的。

您是否看过Jabber(XMPP)? 您的需求似乎是量身定制的,即您可以根据某些事件等触发触发发送,再加上有状态的数据传输等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM