celluloid-io oder eventmachine mit Moskitoschleifen

8

Ich baue ein kleines Ruby-Programm, um eine Verbindung zu einem MQTT -Server herzustellen und einen Kanal zu abonnieren. Ich benutze das mosquitto Juwel, das nur eine Brücke für libmosquitto C-Bibliothek.

Ich habe eine sehr einfache Implementierung eines Programms erstellt, das mit ruby my_prog.rb laufen kann:

%Vor%

Ich habe mich gefragt, ob ich Celluloid oder verwenden möchte EventMachine , um die Loops, die der Mosquitto-Edelstein bietet, auszuführen, wie würde ich es tun?

Der Mückenstein bietet eine gute Dokumentation und stellt einige Schleifenmethoden vor das kann verwendet werden, aber ich habe keine Ahnung, wo ich anfangen oder wie ich es tun soll, noch habe ich jemals EM oder Celluloid verwendet.

Könnte jemand helfen, damit anzufangen, ich denke, dass es der Gemeinschaft einen gewissen Wert bringen könnte, und es könnte als Open-Source-Projekt enden, eine kleine Ergänzung für das Juwel von Mosquitto?

    
Roland 20.05.2014, 10:35
quelle

2 Antworten

1

Ich denke, es ist nicht so schwer. Mosquitto hat eine gute Bibliothek.

Sie müssen diese Funktionen verbinden:

%Vor%     
jsaak 19.11.2014 15:00
quelle
0

Das em-mqtt Juwel stellt eine MQTT-Protokollimplementierung für eventmachine bereit.
Dies verwendet die reine Ruby mqtt Implementierung, um die Nachrichten zu verarbeiten, anstatt libmosquitto .

Wenn Sie wirklich die libmosquitto Implementierung für das Parsing über die mosquitto edel würde dann die obige Abgrenzung gelten. Die eventmachine -Komponente wird so sein wie sie ist. Alle Aufrufe des protokollspezifischen Moduls MQTT werden durch das Äquivalent in libmosquitto ersetzt. Das Hauptproblem scheint zu sein, dass die libmosquitto public API und die nachfolgende Ruby API verbirgt all dies in libmosquitto eigener Netzwerkimplementierung, die durch eventmachine ersetzt wird Sie müssten eine Menge hacken, um Ruby die erforderlichen Methoden zu zeigen, bevor Sie anfangen können.

    
Matt 26.08.2014 08:50
quelle

Tags und Links