io.on('connection',…)vs io.sockets.on('connection',…)
我正在使用socket.io和平均堆栈的Web应用程序。 我启动了3006端口上的套接字服务器。
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页面使用io.on
为什么它为io.sockets.on
工作
Socket.IO客户端默认连接到的默认命名空间是: /
。 它由io.sockets
或简单的io
( 文档 )标识。
这个例子是从文档中复制的:
// 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',它只是一个简短的forms。
为了“命名空间”您的套接字,意味着分配不同的端点或path(这可能是有用的)。
从这个SO 问题的答案:
“Socket.io为你做所有的工作,就好像它是两个独立的实例,但是仍然把信息限制在一个连接上,这是非常聪明的。
- 使用代理的NodeJS简单UDP客户端服务器应用程序
- React和Socket.io:能够获取初始数据 – 但是当新post进来时视图不会更新
- JavaScript中的callback混乱,Node.js
- 获得总数。 在Socket.io +多进程/集群中的室内连接用户
- PHP + MySQL + Socket.io – 实时在线状态的朋友
- Node.js“ws”websocket服务器在〜30秒后随机断开客户端,错误1006
- 在通过file.createWriteStream()传输到GCP时,获取ESOCKETTIMEOUT,ECONNRESET或套接字会挂载大文件。
- 如何更新附加div的数量
- socket.io使用for循环来添加socket.on方法