从服务器端捕获0.11捕获套接字事件

Viv*_*tha 5 socket.io sails.js

根据新版本的sails v0.11,在config/sockets.js文件中不推荐使用onConnect函数.我无法实现socket.on事件或从服务器端捕获套接字事件.有没有办法实施?

通过更新代码config/bootstrap.js@mikermcneil建议:

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

mik*_*eil 4

在此处查看迁移指南: https: //github.com/balderdashy/sails/blob/master/0.11-migration-guide.md#onconnect-lifecycle-callback

onConnect生命周期回调

太棒了;

从 中删除您的onConnect函数config/sockets.js

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