2017-01-06 40 views
0

我有一個Web應用程序,它反映了我服務器中列表的內容。爲此,我使用websockets(socket.io)來偵聽來自服務器的更新消息。流星DDP服務器的Java解決方案

在列表中有第一個快照後,它會收到更新事件,如{'action':'changed','type': 'typeA', 'id':1},然後頁面可以向http://server.com/api/typeA/1發出請求並插入,刪除或替換模型中的更新項目。

問題是,如果任何更新事件發生時,我的websocket連接被建立,系統將失去這些並被延遲。或者,如果它在連接事件發生後請求第一個快照,則在發送某個更新後,請求可能會完成,然後新值可能會被一個古老的值取代。

是否有一些lib可以讓Meteor DDP在用java編寫的服務器中發佈通用數據庫呢?

回答

0

請看看在:https://github.com/Reactive-Extensions/RxJS

我認爲這是你在找什麼。

謝謝 亞歷克斯S.

+0

其實我正在尋找的是一個解決方案,使客戶端和服務器之間的同步。我已經在角度上使用RxJS來對模型更改作出反應。而且我可以打開websocket連接並接收異步事件,問題在於維護數據一致性並降低網絡開銷。 –

+0

這兩個鏈接:http://blog.jasoncrawford.org/meteor-demystified和https://github.com/meteor/meteor/blob/devel/packages/ddp/DDP.md幫助我開始瞭解背後的原理流星的魔力,但我的疑問仍然是「有沒有什麼工具可以做到這一點?」。我在angularJS中有一個Web應用程序,並且有一個用Java編寫的Web服務器。 –

1

我們遇到許多分佈式數據的機制,並最終選擇了使用deepstream.io數據同步戰略,實現了我們通過發送更新想從服務器克隆的集合特點需求,併爲JS和Java提供良好且良好的支持框架。

它值得一試。