【发布时间】:2019-03-13 17:40:19
【问题描述】:
在我浪费任何钱之前,我需要更多经验的指导。请看我的场景。
- 300 个客户端需要检查来自服务器的数据 全天。
- 每个客户的数据将在不同的未知时间可用。
- 每个客户端每天最多可以下载 30 次 5kb 的数据。
- 重要的是每个客户在 5 分钟内检测到他们的可用数据。
我不想强制每个客户端设置静态 IP 或开放端口。因此,我相信 将数据从服务器发送到客户端不是一种选择。我必须想出最合适的方式让客户端从服务器请求数据。
我考虑过设置 300 个客户端每 3 到 5 分钟轮询一次可能的数据。每个客户端每天最多可以下载 30 次 5kb 的数据。他们不会在每次投票时下载数据。
假设带宽和速度不是问题,并且我可以获得可升级的专用服务器;
- 每 3 到 5 分钟同时连接 300 个客户端是否被视为激进轮询?
- 预计每个客户端每天最多可下载 30 次 5kb 数据。
- 这种方法在网络和硬件资源方面是否不合理?
- 有更好的方法吗?
感谢您的宝贵时间。
【问题讨论】:
-
如果你使用.NET框架,你可以考虑SignalR。或者一般来说,看看像 WebSockets 这样的服务器推送技术。我认为轮询可以是一个可以接受的解决方案,而且很容易实施。对于你的用例在你的环境中是否合理,真的只能通过测试来回答。
标签: c# web-services client-server polling