"discrete" 实时更新的解决方案
Solution for "discrete" real-time updates
我正在使用 Angular 前端构建 ASP.NET 核心应用程序。考虑以下场景。客户端提交请求。根据请求,服务器会生成数百或数千个数学模型,并在某些基础设施上计算这些模型(该示例有点假设 - 请耐心等待)。结果会在几分钟后返回到服务器。服务器 returns 对客户端的某种响应(理想情况下,JSON)。
SignalR 是这种场景的解决方案吗?我一直认为 SignalR 用于更连续(实时)的流媒体;不适用于我描述的离散场景。是否有其他库更适合这项任务?
我认为 SignalR 非常适合这种情况。数据准备好后,服务器需要"tell"客户端。你会怎么做?
- 客户端使用间隔每隔几秒请求一次数据。这可以
没关系,但假设你的间隔持续 10 秒。如果数据准备好
在第 11 秒,你不会得到更新,直到第 20 秒。你可以减少这件事的间隔时间跨度,得到更多的服务器调用和网络浪费。
- 客户端与服务器保持实时连接,侦听任何
signal/update。服务器获取数据然后调用一个command/method in
你的客户。使用这种方法,您可以获得更多好处,例如向用户报告进度(以防您可以在服务器上将模型生成分成不同的部分),因为 SignalR 具有非常 simple way to do it
我正在使用 Angular 前端构建 ASP.NET 核心应用程序。考虑以下场景。客户端提交请求。根据请求,服务器会生成数百或数千个数学模型,并在某些基础设施上计算这些模型(该示例有点假设 - 请耐心等待)。结果会在几分钟后返回到服务器。服务器 returns 对客户端的某种响应(理想情况下,JSON)。
SignalR 是这种场景的解决方案吗?我一直认为 SignalR 用于更连续(实时)的流媒体;不适用于我描述的离散场景。是否有其他库更适合这项任务?
我认为 SignalR 非常适合这种情况。数据准备好后,服务器需要"tell"客户端。你会怎么做?
- 客户端使用间隔每隔几秒请求一次数据。这可以 没关系,但假设你的间隔持续 10 秒。如果数据准备好 在第 11 秒,你不会得到更新,直到第 20 秒。你可以减少这件事的间隔时间跨度,得到更多的服务器调用和网络浪费。
- 客户端与服务器保持实时连接,侦听任何 signal/update。服务器获取数据然后调用一个command/method in 你的客户。使用这种方法,您可以获得更多好处,例如向用户报告进度(以防您可以在服务器上将模型生成分成不同的部分),因为 SignalR 具有非常 simple way to do it