Ich verwende Symfony2, um eine einfache Chat-Anwendung zu erstellen. Ich entschied mich, den GeniusesOfSymfony / WebSocketBundle für meinen Websocket zu verwenden, der von Ratchet:
betrieben wirdIch habe es geschafft, dass der Chat mit PubSub funktioniert, aber ich möchte stattdessen die Push - Integration verwenden: Ich möchte, dass der Client die Nachricht über AJAX an meinen Symfony2 - Controller sendet, der wiederum die Nachricht an alle Clients der Websocket.
Ich folgte dieser Dokumentationsseite:
Ich habe versucht, ZMQ und Websocket Pusher zu verwenden.
Mit ZMQ, wenn ich den Websocket starte, bekomme ich die cmd-Benachrichtigung:
ZMQ Transport hört auf 127.0.0.1:5555
Das Drücken von Nachrichten funktioniert jedoch nicht:
%Vor%Dies ist die onPush-Methode in meiner ChatTopic-Klasse:
%Vor%Die onPush-Methode wird nie aufgerufen. Auch die Pusher-Ereignisse werden nie ausgelöst. Es scheint keine Ausnahme im Code zu geben.
Mit Websocket Pusher kann ich den Dienst nicht einmal starten. Es gibt keine Benachrichtigung in der cmd wie bei ZMQ, und mit dem Befehl netstat
konnte ich nicht erkennen, dass es Port 1337 abgehört. Wenn ich versuche, dorthin zu gelangen, bekomme ich die Ausnahme:
Socket konnte nicht geöffnet werden. Grund: Es konnte keine Verbindung hergestellt werden, da der Zielgerät hat es aktiv abgelehnt
Wahrscheinlich, weil auf Port 1337 kein Dienst zu hören ist.
P.S. - Ich bin auf Windows 10 und benutze WAMP Server. Ich habe erfolgreich die ZMQ Erweiterung auf WAMP installiert, wie in phpinfo()
angezeigt.