如何使用GeniusesOfSymfony / WebSocketBundle发布消息?

时间:2017-07-11 14:52:08

标签: php symfony sockets websocket

我使用此插件GeniusesOfSymfony/WebSocketBundle在我的应用程序中集成了websockets。

然而,通过文档我还没有找到如何在我们订阅它之后将数据推送到频道,来自" socket / connect"事件:

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!");
});

如何从" socket / connect"中取出session.publish之类的内容。回调函数?

请注意,我使用了"默认" Topic Handler

1 个答案:

答案 0 :(得分:2)

我只需要创建一个全局范围变量" sendMessage"并使用嵌套函数实例化它:

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);
      }
});

然后,只要我想在我的代码中发布消息,我就必须重复sendMessage(消息)。