gpt4 book ai didi

node.js - io.on ('connection' ,...) 与 io.sockets.on ('connection' ,...)

转载 作者:IT老高 更新时间:2023-10-28 21:59:12 25 4
gpt4 key购买 nike

我正在使用 socket.ioMean 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.onio.sockets.on 有什么区别,第一次连接应该用哪个..?

虽然socket.on npm page使用 io.on 为什么它适用于 io.sockets.on

最佳答案

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',它只是一个更短的形式。

为您的套接字“命名空间”意味着分配不同的端点或路径(这可能很有用)。

来自对此 SO question 的回答:

“Socket.io 为您完成所有工作,就好像它是两个独立的实例一样,但仍将信息限制在一个连接中,这非常聪明。”

关于node.js - io.on ('connection' ,...) 与 io.sockets.on ('connection' ,...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24266910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com