【问题标题】:Solution for "discrete" real-time updates“离散”实时更新的解决方案
【发布时间】:2016-08-10 07:04:36
【问题描述】:
我正在使用 Angular 前端构建 ASP.NET Core 应用程序。考虑以下场景。客户端提交请求。根据请求,服务器会生成数百或数千个数学模型,并在某些基础设施上进行计算(该示例有些假设性 - 请耐心等待)。结果会在几分钟后返回到服务器。服务器向客户端返回某种响应(理想情况下是 JSON)。
SignalR 是这种情况的解决方案吗?我一直认为 SignalR 用于更连续(实时)的流式传输;不适用于我描述的离散场景。是否有更适合此任务的其他库?
【问题讨论】:
标签:
angularjs
signalr
asp.net-core-mvc
【解决方案1】:
我认为 SignalR 非常适合这种情况。当数据准备好时,服务器需要“告诉”客户端。你会怎么做?
-
客户端每隔几秒就会使用一个时间间隔请求数据。这可以
没关系,但是假设您的间隔持续 10 秒。如果数据准备好
在第 11 秒,您将在第 20 秒之前获得更新。您可以减少此问题的间隔时间跨度,从而获得更多的服务器调用和网络浪费。
-
客户端与服务器保持实时连接,监听任何
信号/更新。服务器获取数据,然后调用命令/方法
你的客户。使用这种方法,您可以获得更多好处,例如向用户报告进度(以防您可以在服务器上将模型生成分成不同的部分),因为 SignalR 有一个非常 simple way to do it