sails.io
,那么在哪里放置我的逻辑? config/bootstrap.js
是个好地方吗?或者我可以在其他地方创建一些其他文件吗?
以下代码有效:
// config/bootstrap.js
module.exports.bootstrap = function (cb) {
sails.io.sockets.on('connection', function(socket) {
console.log("Got a connected client");
});
cb();
};
答案 0 :(得分:1)
在0.9.4
之前,它不支持此功能。
步骤1.获取最新版本的sails.js
步骤2.使用cli生成风帆
第3步。请参阅config/sockets.js
,自定义onConnect
功能,如下所示:
module.exports.sockets = {
// This custom onConnect function will be run each time AFTER a new socket connects
// (To control whether a socket is allowed to connect, check out `authorization` config.)
// Keep in mind that Sails' RESTful simulation for sockets
// mixes in socket.io events for your routes and blueprints automatically.
onConnect: function(session, socket) {
// By default: do nothing
// This is a good place to subscribe a new socket to a room, inform other users that
// someone new has come online, or any other custom socket.io logic
console.log("Got a connected client");
},
...
答案 1 :(得分:0)
对于逻辑处理,您可以将它放在以下位置:
控制器:如果请求应触发实时事件
服务:如果你想:)但我认为控制器被提及
/config/socket.js onConnect(),onDisconnect():如果要在某些房间添加或删除连接的套接字,或者某些初始套接字设置等,
/picies/sessionAuth.js:对于某些实时身份验证逻辑
此外,您应该考虑resourceful-pubsub功能,它可以帮助您节省大量使用套接字实现实时进程的工作。我发现它非常酷:)