【问题标题】:Concept of snapshot and isActive() in LightStreamerLightStreamer中snapshot和isActive()的概念
【发布时间】:2020-11-15 19:02:33
【问题描述】:

阅读 LightStreamer 的文档,有些问题我通过阅读文档找不到。

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

【问题讨论】:

    标签: websocket lightstreamer


    【解决方案1】:

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

    以上是抽象的。实体的状态可以通过多种可能的方式进行。 出于这个原因,Lightstreamer 引入了几种类型的项目(即 MERGE、DISTINCT 和 COMMAND),它们涵盖了基本的状态类型。 General Concepts 文档的第 3.2 段对它们进行了详细描述。

    2)

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-21
      • 2011-03-28
      • 2016-06-17
      • 2016-01-01
      • 1970-01-01
      • 2018-12-22
      • 1970-01-01
      相关资源
      最近更新 更多