2011-11-16 107 views

回答

9

我從來沒有使用ZmqSocket.js,但我可以告訴你,這可能不是一個好主意(但)。這是因爲zmq仍然認爲雙方都知道這個協議,並且如果提供了無效的數據,它們會炸燬(雖然他們正在努力解決這個問題)。

我現在做的是有一個使用socket.io與瀏覽器進行通信,並在推動數據(和讀取)一個zeromq插座,其中應用程序的其餘部分是一個簡單的node.js基於代理。


更新2013年:我寫sockjsproxy,基於ZeroMQ基本上代理消息/從sockjs和zeromq,讓你實現你想要的只是執行(很簡單),任何語言的服務器協議。

我已經親自使用它與Python和Scala服務器來構建實時Web應用程序。

3

我開始尋找一種解決方案來爲UI使用Web瀏覽器。

我有一個Java應用程序從幾個來源收集信息,分析它將結果存儲在數據庫中,允許其他系統獲取信息。

Java應用程序在PUSH ZMQ套接字上提供信息(日誌,事件等),並提供一個REP套接字來控制它(更改參數,診斷請求等)。

我目前有一個使用Tk的UI的Python應用程序,我打算用Web界面替換它。

我對ZMQ JavaScript標準存在的問題是它使用了一個不受iOS支持的Flash組件。

做了一些Googoling的我發現了一篇名爲「Interacting With ZeroMQ From the Browser」使用NullMQ

我希望這有助於。

1

另一個觀點:實現一個處理全部 ZeroMQ的策略的WebSocket到ZeroMQ代理似乎很多工作,但你可以很快得到部分代理運行。像埃米爾一樣,我正在試驗PyZMQ < - 龍捲風 - > WebSocket橋;在我的情況下,我只關心從SUB套接字獲取消息。

在我的模型中,我從瀏覽器發送JSON消息到代理,請求創建新的ZMQ套接字。當這些套接字接收數據時,它們通過相同的WebSocket連接將其發送回瀏覽器。

這是python proxy backend和我的javascript proxy frontend。在我的Python代碼中,AsyncReciever類是基本上運行JSON編碼/解碼的ZMQStream周圍的一個非常薄的包裝。如果你想發送原始的ZeroMQ字節到瀏覽器,事情會更容易:只需連接一個ZMQSocket.on_message回調直接到BridgeWebSocket.write_message