我使用此插件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
答案 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(消息)。