Socket.io Sails 0.11从服务器端捕获套接字事件

Socket.io Sails 0.11从服务器端捕获套接字事件,socket.io,sails.js,Socket.io,Sails.js,根据sails v0.11的新版本,config/sockets.js文件中不推荐使用函数onConnect。 我无法实现socket.on事件或从服务器端捕获socket事件。 有什么办法可以实施吗 按照@mikermcneil的建议更新config/bootstrap.js中的代码: module.exports.bootstrap = function(cb) { sails.io.on('connect', function (socket){ socket.o

根据sails v0.11的新版本,config/sockets.js文件中不推荐使用函数onConnect。 我无法实现socket.on事件或从服务器端捕获socket事件。 有什么办法可以实施吗

按照@mikermcneil的建议更新
config/bootstrap.js中的代码:

module.exports.bootstrap = function(cb) { 
    sails.io.on('connect', function (socket){
        socket.on('testE',  function(data)  {
            socket.emit('testEvent',{p1:'hehe'});
        });
    });
cb();
};

请查看此处的迁移指南:

onConnect
生命周期回调 tldr

config/sockets.js
中删除
onConnect
函数


onConnect
生命周期回调已被弃用。相反,如果在连接新套接字时需要执行某些操作,请从新连接的客户端发送请求。
onConnect
的目的始终是优化性能(无需与服务器进行最初的额外往返),但使用它可能会导致混乱和竞争情况。如果您迫切需要消除服务器往返,可以直接在引导函数(
config/bootstrap.js
)中的
sails.io.on('connect',function(newlyConnectedSocket){})
上绑定处理程序。但是,请注意,不鼓励这样做。除非您面临真正的生产性能问题,否则您应该将上述策略用于“连接上”逻辑(即,在套接字连接后从客户端发送初始请求)。套接字请求是轻量级的,因此这不会给应用程序增加任何实际开销,并且有助于使您的代码更加可预测。

是的,我以前读过文档,但没有集中精力,因为不鼓励使用这种方法。我在bootstrap.js中添加了代码,如上面更新的问题:)现在可以工作了,非常感谢。。