【发布时间】:2015-01-12 09:26:52
【问题描述】:
我昨天研究了sockets、socket.io和sails,我不得不说我很迷茫。我以前从未使用过它们。我以为我明白了,但我不确定了。
我的工作基于http://socket.io/get-started/chat/。我正在使用框架 Sails.js,它添加了自己的方法来处理套接字等。
在config/sockets.js 中,我们有一个onConnect 和onDisconnect 方法。见https://github.com/balderdashy/sails-docs/blob/master/reference/sails.config/sails.config.sockets.md和(源代码)https://gist.github.com/Vadorequest/568afc14294f1448ab55
我会比较sails和socket.io,我们来看看这段代码:
io.on('connection', function(socket){
console.log('a user connected');
socket.on('disconnect', function(){
console.log('user disconnected');
});
});
当 socket.io 打开(连接)时,它定义 listeners 就像 socket.on('disconnect') 正在等待来自客户端或服务器使用 socket.emit 方法发出的请求。
我认为sails onConnect 相当于socket.io io.on(connection)。那么sailsonDisconnect方法就等价于socket.on('disconnect'),在io.on(connection)里面,就像一条捷径,sails以正确的方式处理这个特定的事件并尊重它的标准(方法以on开头)。
但是我已经向一个已经使用 socket.io 和sails 的朋友展示了我的代码,他告诉我我错了,我正在做的是在另一个侦听器中定义一个侦听器,这会导致混乱混乱(至少)。
我想知道我是否误解了如何设置风帆插座。
如果我错了,我会哭,但我会克服的。
【问题讨论】:
标签: javascript node.js sockets socket.io sails.js