我正在为一个web应用程序使用socket.io和Mean堆栈。我在3006端口上启动了socket的服务器。
var http = require('http').createServer(app);
http.listen(3006);
var io = require('socket.io').listen(http);这两种方法似乎都能在连接上起作用。
io.on('connection', function (socket) {
console.log('Socket succesfully connected with id: '+socket.id);
});还有..。
io.sockets.on('connection', function (socket) {
console.log('Socket succesfully connected with id: '+socket.id);
});io.on和io.sockets.on有什么不同?在第一次连接时我应该使用哪一个?
虽然socket.on npm page使用io.on,但它为什么要在io.sockets.on上工作
发布于 2014-06-17 23:14:43
默认情况下,Socket.IO客户端连接到的默认命名空间是:/。它由io.sockets或简单的io (docs)标识。
此示例从文档中复制:
// the following two will emit to all the sockets connected to `/`
io.sockets.emit('hi', 'everyone');
io.emit('hi', 'everyone'); // short form我假设'on‘和’emit‘是一样的:使用'io.sockets’等同于只使用'io‘,它只是一种较短的形式。
“命名空间”您的套接字,意味着分配不同的端点或路径(这可能是有用的)。
根据对这个问题的回答,所以question
"Socket.io为您完成了所有工作,就像它是两个独立的实例一样,但仍然将信息限制在一个连接中,这是非常聪明的。“
https://stackoverflow.com/questions/24266910
复制相似问题