我在AngularJS中有一個客戶端,我從服務器端使用Java中的多個SSE(Server-Sent-Events)(在不同Web服務器中有多個端點後端)。在angular.js eventsource中訂購和過濾Server-Sent-Events
注:我必須使用SSE。
我目前註冊一個監聽器,每種類型的事件從每個SSE連接未來,如:
source.addEventListener('alpha', function(e) {
doSomething();
}, false);
目的是根據這些事件顯示通知,以及與此我有幾個問題:
- 客戶如何知道後端的信息是否發生變化?
如何組織和過濾這些事件?例如,通過同時接收來自多個連接的多個事件,如何管理它們以便向客戶顯示關於特定事件的特定通知?
注意:我不僅僅在談論每種類型的事件組織,而且我還需要考慮事件是否比另一個更重要。
到目前爲止,我只想到接收所有事件,並將它們保存在可以排序和過濾的列表中。如果兩個SSE事件同時被觸發,是否有問題?你知道這個例子嗎?
在客戶端組織事件的邏輯是一個好主意嗎?
- 我應該爲這些事件創建一個數據庫嗎?
謝謝
謝謝@Aniruddha Das。我有幾個問題: - 爲什麼我必須定期調用服務器以確定數據是否有變化?當且僅當服務器中的內容發生變化時,SSE事件才能發送新數據?如果沒有,是不是可以將舊數據與從AngularJS中同一事件接收到的新數據進行比較? [我問,因爲也許這些不是最好的方法] P.D.不幸的是我不得不使用SSE。 – sie
正如你想通知你的用戶,如果有任何改變從服務器端。如果用戶瀏覽器是開放的,他不需要刷新,您只需定期撥打電話更新用戶瀏覽器 –
我明白了。好的,最後一個問題。你認爲在客戶端組織事件的邏輯是一個好主意嗎?謝謝! – sie