簡體   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