Sailsjs Socket IO

Din*_*esh 9 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示例.

iCo*_*nor 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
}
Run Code Online (Sandbox Code Playgroud)