Sailsjs Socket IO

时间:2013-12-16 04:50:43

标签: node.js socket.io sails.js

我是SailsJs和Socket IO的新手。我想在Sailsjs中执行下面的Socket IO示例。在服务器端,我需要执行以下代码。但我不知道在哪里放置此代码。

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); });


我知道我可以将它放在Cntroller的函数中,但它会为每个我不想要的请求添加监听器。

客户端:



  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });

告诉我在sailsjs中放置服务器端代码的位置,并帮助我执行上面的socketIO示例。

1 个答案:

答案 0 :(得分:7)

好吧,您的代码建议您要在connection上执行某些操作。

/config/sockets.js处有一个文件,内置了connectdisconnect的功能,也许您正在寻找此功能。

如果不是,那么你会想把它变成一个控制器“动作”,如果你更深入地思考你想要实现的目标,那么你可能需要一个你打电话的动作一旦为你处理这个。

如果你最终试用sockets.js文件,那么你应该有一些看起来像这样的东西

onConnect: function(session, socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
 // 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
}