2017-10-15 164 views
0

我正在尋找技術或skils來修復新網站的方式。 此網站顯示位於服務器上的讀取時間數據作爲內存上的文件或數據。 我將在服務器端使用Node.js。但我無法修復如何獲取數據並顯示給網站用戶。 由於此數據必須至少每1秒更新。 我認爲它與股票價格頁面相似。客戶端訪問vs從Web服務器廣播數據

我知道有很多方法來訪問數據,如AJAX,Angular.js,Socket.io .. 也有每個優點和缺點。

在這種情況下哪個平臺或框架很好?

回答

0

這最終取決於您對服務器端有多少控制權。對於需要每秒刷新一次的數據,在客戶端進行輪詢會在瀏覽器上產生相當大的負載。例如,你可以通過簡單地使用許多可用框架之一來在某種形式的時間間隔內發出http請求來完成。這種方法的缺點包括:

  • 間隔的需求,同時用戶在頁面
  • http請求需要作出關於要在後臺運行所有的時間,每間隔來檢查數據改變
  • 數據的比較也需要通過瀏覽器,它可以在1秒的時間間隔

如果你有一些服務器控件,這將是可取的輪詢數據源上是相當重進行服務器,即使用代理微服務,並且使用服務器來執行改變檢查,並且當數據已經改變時僅向客戶端發送數據。

您可以使用Websockets通過「推送」式消息來傳達這些更改,而不是讓客戶端瀏覽器執行繁重的操作。該流程會去是這樣的:

  • 服務器時,一個新的客戶端開始其插座上聽
  • 服務器使每個輪詢間隔的http請求開始投票,運行
  • 當結果改變,每個結果比較,服務器使用新數據向所有連接的客戶端廣播一個套接字消息

這樣做的主要優點是所有客戶端需要做的就是「連接和偵聽」。這甚至適用於您不控制的數據源 - 您提供的服務器可以在向客戶端發送消息之前執行所需的任何數據操作,源只需要在請求時提供數據。

編輯:剛剛發佈了一個小型圖書館,完成了這個目標:Mighty Polling ⚡️ Socket Server。仍然年輕,如果使用,檢查您的使用。