Sails 0.11 从服务器端捕获套接字事件
Sails 0.11 catching socket events from server side
根据 sails v0.11 的新版本,函数 onConnect 在 config/sockets.js 文件中被弃用。
我无法实现 socket.on 事件或从服务器端捕获套接字事件。
有什么办法可以实现吗?
按照@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;
Remove your onConnect
function from config/sockets.js
.
onConnect
生命周期回调已被弃用。相反,如果您需要在连接新套接字时执行某些操作,请从新连接的客户端发送请求来执行此操作。 onConnect
的目的始终是优化性能(消除与服务器进行初始额外往返的需要),但它的使用会导致混乱和竞争条件。如果您迫切需要消除服务器往返,您可以在 bootstrap 函数 (config/bootstrap.js
) 中直接在 sails.io.on('connect', function (newlyConnectedSocket){})
上绑定处理程序。但是,请注意,这是不鼓励的。除非您面临 true 生产性能问题,否则您应该对 "on connection" 逻辑使用上述策略(即在套接字连接后从客户端发送初始请求)。套接字请求是轻量级的,因此这不会给您的应用程序增加任何有形的开销,并且有助于使您的代码更易于预测。
根据 sails v0.11 的新版本,函数 onConnect 在 config/sockets.js 文件中被弃用。 我无法实现 socket.on 事件或从服务器端捕获套接字事件。 有什么办法可以实现吗?
按照@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;
Remove your
onConnect
function fromconfig/sockets.js
.
onConnect
生命周期回调已被弃用。相反,如果您需要在连接新套接字时执行某些操作,请从新连接的客户端发送请求来执行此操作。 onConnect
的目的始终是优化性能(消除与服务器进行初始额外往返的需要),但它的使用会导致混乱和竞争条件。如果您迫切需要消除服务器往返,您可以在 bootstrap 函数 (config/bootstrap.js
) 中直接在 sails.io.on('connect', function (newlyConnectedSocket){})
上绑定处理程序。但是,请注意,这是不鼓励的。除非您面临 true 生产性能问题,否则您应该对 "on connection" 逻辑使用上述策略(即在套接字连接后从客户端发送初始请求)。套接字请求是轻量级的,因此这不会给您的应用程序增加任何有形的开销,并且有助于使您的代码更易于预测。