【发布时间】:2016-08-16 07:03:18
【问题描述】:
我正在创建一个私人聊天应用程序,想根据他们的兴趣和行为在房间上添加特定的套接字,我希望用户随时都在房间里。
我的问题是,socket.io 是否会在连接新套接字或由于我的代码而发生时自动创建一个房间?
var allSockets = []; // Adding all new sockets in an array
console.log(allSockets.length); // checking length of an array after socket connection
app.get('/api/rooms',function(req,res){
res.send(io.sockets.adapter.rooms); // just a url to see the rooms connected
})
上面是代码示例,下面是两个用户连接时的输出示例
{"/#DtUmoNBKeQSYMcepAAAA":{"sockets":{"/#DtUmoNBKeQSYMcepAAAA":true},"length":1},"/#1FXDSOViOj2R64DjAAAB":{"sockets":{"/#1FXDSOViOj2R64DjAAAB":true},"length":1},"57b2ba38426f18d1040a6d5f":{"sockets":{"/#1FXDSOViOj2R64DjAAAB":true,"/#DtUmoNBKeQSYMcepAAAA":true},"length":2}}
我可以在上面的结果中看到两个用户有自己的房间,以及一个由他们在一起的地方创建的新房间。总共三个房间。
如果有的话,有什么办法可以摆脱 socketio 创建的默认房间。
【问题讨论】:
-
sockets,在编程级别上,与socket.io无关...我删除了标签。有关详细信息,请参阅sockets 标签详细信息。