2

如果我想使用,哪里是放置我的逻辑的好地方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();
};
4

2 回答 2

1

直到0.9.4.

step 1. 获取最新版本的sails.js

步骤 2. 使用 cli 生成帆

step 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");

  },
...
于 2013-09-24T07:21:15.680 回答
0

对于逻辑处理,可以放在以下几个地方:

  1. 控制器:如果一个请求应该触发一个实时事件

  2. 服务:如果你愿意 :) 但我认为控制器是指

  3. /config/socket.js onConnect(), onDisconnect(): 如果你想在一些房间添加或删除连接的套接字,或者一些初始套接字设置等。

  4. /policies/sessionAuth.js:用于一些实时认证逻辑

  5. 其他地方...

此外,您应该考虑资源丰富的发布订阅功能,它可以帮助您在使用套接字实现实时进程时节省大量精力。我发现这很酷:)

于 2014-08-08T04:58:09.290 回答