我是 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); }); });
我知道我可以将它放在 Controller 的函数中,但它会为每个我不想要的请求添加监听器。
客户端:
var socket = io.connect('http://localhost'); socket.on('news', function (data) { console.log(data); socket.emit('my other event', { my: 'data' }); });
告诉我在sailsjs中放置服务器端代码的位置并帮助我执行上面的socketIO示例。
最佳答案
嗯,你的代码建议你想在 connection
上做点什么。
有一个位于 /config/sockets.js
的文件,它内置了 connect
和 disconnect
的函数,也许你正在寻找为了这。
如果您不是,那么您将希望将其放入 Controller “ Action ”,如果您更深入地思考您要实现的目标,那么您可能需要一个您调用的 Action 一次为您处理。
如果您最终尝试了 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
}
关于node.js - Sailsjs 套接字 IO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20603672/