2017-07-11 2 views
3

Ich habe dieses Plugin GeniusesOfSymfony/WebSocketBundle verwendet, um Websockets in meine Anwendung zu integrieren.Wie veröffentlichen Sie Nachrichten mit GeniusesOfSymfony/WebSocketBundle?

jedoch durch die Dokumentation finde ich nicht, wie die Daten in den Kanal zu drücken, sobald wir sie abonniert haben, von outide der „socket/connect“ event:

webSocket.on("socket/connect", function(session){ 
     session.subscribe("acme/channel", function(uri, payload){ 

      console.log("Received message", payload.msg); 


    session.publish("acme/channel", "This is a message!"); 
}); 

Wie kann ich etwas verwenden Wie session.publish von outise die "socket/connect" Callback-Funktion?

Beachten Sie, dass ich die "Standard" Topic Handler verwendet.

+0

hi. Wenn Sie keine Lösung finden, können Sie versuchen, webSockets http://devblog.lexik.fr/symfony2/notifications-via-websocket-avec-symfony2-et-node-js-2679 zu verwenden –

Antwort

2

Ich hatte gerade eine globale Reichweite Variable „nachrichts“ zu erstellen und mit der verschachtelten Funktion instanziiert:

var sendMessage; 

webSocket.on("socket/connect", function(session){ 
     session.subscribe("acme/channel", function(uri, payload){ 

      console.log("Received message", payload.msg); 


    sendMessage = function(message){ 
     var myObject = { 
     'content': message 
     } 
     session.publish("acme/channel", myObject); 
     } 
}); 

Dann Nachrichten zu veröffentlichen, muss ich nur nachrichts (Nachricht) wiederholen, wenn ich in meinem Code möchte .

Verwandte Themen