ZeroMQ-client in javascript
Haben wer ZmqSocket.js erfolgreich? Ich würde gerne wissen, wie kann es verwendet werden, um einen sicheren Kanal zwischen dem browser und einem zeromq server-app. Gibt es andere/bessere Möglichkeiten für einen solchen Anwendungsfall?
InformationsquelleAutor der Frage Carlo Pires | 2011-11-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich noch nie genutzt ZmqSocket.js aber ich kann Ihnen sagen, dass es wahrscheinlich keine gute Idee, (noch) nicht. Dies ist, weil zmq noch davon ausgegangen, dass beide peers kennen das Protokoll gut und wird explodieren, wenn gegeben, ungültige Daten (Sie arbeiten an der Festlegung, dass, obwohl).
Was ich jetzt tun ist eine einfache node.js basierten proxy, der verwendet socket.io für die Kommunikation mit Browsern und schiebt die Daten in (und liest) eine zeromq-Buchse, wo der rest der app ist.
Update 2013: ich schrieb sockjsproxydie im wesentlichen proxies Nachrichten an/von sockjs und zeromq, so dass die Implementierung der server in jeder Sprache, die Sie wollen, indem Sie einfach die Umsetzung der (sehr einfache) ZeroMQ-basiertes Protokoll.
Ich persönlich habe es mit Python und Scala-Server zu erstellen Echtzeit-web-apps.
InformationsquelleAutor der Antwort Emil Ivanov
Begann ich nach einer Lösung mit einem web-browser eine Benutzeroberfläche.
Ich habe eine Java-Anwendung, die sammelt Informationen aus mehreren Quellen, Analysen, es speichert die Ergebnisse in einer Datenbank, so dass andere Systeme zur information.
Java-app bietet Informationen (Protokolle, Ereignisse und so weiter) auf eine PUSH-ZMQ socket und liefert eine REP-Buchse, um es zu Steuern (ändern der Parameter, Diagnose-Anfragen, etc).
Momentan habe ich ein Python-app mit einer Benutzeroberfläche mit Tk und ich planen, ersetzen Sie es mit einem web-interface.
Habe ich das problem mit der ZMQ JavaScript beim abwarten ist, dass es verwendet eine flash-Komponente, die von iOS nicht unterstützt wird.
Tut ein wenig Googoling ich fand ein post mit dem Titel "Die Interaktion Mit ZeroMQ Aus dem Browser" verwendet NullMQ
Ich hoffe, das hilft.
InformationsquelleAutor der Antwort jschiavon
Einer anderen Perspektive: die Implementierung eines WebSocket - --ZeroMQ-proxy, Griffe alle von ZeroMQ Strategien scheint wie eine Menge Arbeit, aber Sie können sehr schnell eine partielle proxy läuft. Wie Emil, ich experimentiere mit einem PyZMQ <--Tornado--> WebSocket-Brücke; in meinem Fall habe ich nur die Sorge über das erhalten von Nachrichten von SUB-buchsen.
In meinem Modell, ich sende JSON-Nachrichten aus dem browser auf den proxy hat, beantragt die Schaffung von neuen sockets ZMQ. Wenn diese sockets Daten empfangen, senden Sie es zurück an den browser über die gleiche WebSocket-Verbindung.
Hier ist die python proxy-backendund meine javascript-proxy-frontend. In meinem Python-code, der
AsyncReciever
- Klasse ist ein sehr dünner wrapper um eineZMQStream
dass im Grunde läuft JSON encode/decode. Wenn Sie möchten, senden raw ZeroMQ Byte an den browser, wäre es sogar noch einfacher: schließen Sie einfach einZMQSocket.on_message
Rückruf direkt zuBridgeWebSocket.write_message
.InformationsquelleAutor der Antwort Just Jake