繁体   English   中英

LightStreamer 中快照和 isActive() 的概念

[英]Concept of snapshot and isActive() in LightStreamer

阅读 LightStreamer 的文档,仍然存在一些问题,我无法通过阅读文档找到它们。

  1. 快照的概念是什么?
  2. isActive() 和 isSubscribed() 方法有什么区别? 如果有人熟悉 websocket 编程中的这些,请指导我。

在 Lightstreamer 的术语中,您订阅“项目”,每个项目都对一个实体进行建模,该实体以状态和该状态的更新流为特征。 当您订阅一个项目时,您可能想立即知道当前状态; 然后是所有后续更新,只要它们发生。 为了简化接口,状态以与更新相同的格式发送给客户端; 所以它是由零个或多个特殊更新制成的。 这些带有项目当前状态的特殊更新称为快照。

以上是抽象的说法。 一个实体的状态可以通过多种可能的方式来实现。 为此,Lightstreamer 引入了几种类型的项目(即 MERGE、DISTINCT 和 COMMAND),它们涵盖了基本的状态类型。 一般概念文件的第 3.2 段对其进行了详细描述。

2)

这种区别是在客户端库中引入的,因为这些库用一个 Subscription 对象表示每个订阅。 该对象指定订阅请求(一个或多个项目)的特征,但为了满足该请求,需要两个步骤: 1 应用程序向客户端库提交请求; 2 客户端库向 Lightstreamer Server 提交请求。

因此,在 1 之后,对象的 isActive() 返回 true,而在 2 之后,对象的 isSubscribed() 也返回 true。 请注意,订阅请求可能具有复杂的生命周期。 例如,如果与服务器的连接丢失,客户端库会重新连接并重新发布订阅; 同时, isActive() 为真, isSubscribed() 为假。 此外,应用程序可以稍后取消订阅,但随后会重用相同的 Subscription 对象再次请求相同的订阅; 同时, isActive() 是假的(而 isSubscribed() 显然是假的)。

暂无
暂无

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

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