socket.io创建多个监听房间
发布于 11 年前 作者 happywowwow 14249 次浏览 最后一次编辑是 8 年前

就是我想实现一个五子棋的服务器 其中就是分很多房间room1 room2 room3 …… 但是现在我就写了一个 var app = module.exports = express.createServer(); var io = require(‘socket.io’).listen(app); room1=io.of(’/room1’).on(‘connection’,function(socket){ socket.emit(………………); ……………… }); 我现在要是想写room2 room3……什么的是不是要复制上面这一段代码为 room2=io.of(’/room2’).on(‘connection’,function(socket){ ……………… }); room3=……………… room4=………………

但是这样的话,服务器写几个room 客户端就只有这么多个房间可以选择连接 可是我想是,客户端自定义一个房间号码 比如23,发送到服务器,然后服务器创建一个room23
然后这个room23 实现上面如room1的功能和监听事件 不知道该怎么办

4 回复

要是我实现你这东西的话绝对不按你这个思路,你这个思路说难听点真的是有点那个啥了。 为什么表面的“房间号“要真正的区分呢,服务端其实只需要一个”大的房间“,收集所有的连接实例,当几个人在一个房间里面的时候不必要去正在的像你那样建立一个房间,你可以把这个几个连接实例抽出来组成一个数组去实现小组内的广播等,只要你稍微自定义一下进入房间后发的消息格式就好了。

对哦。。。学习了 - -

写一个房间的对象,对象包括 房间名称,房间人数,玩家的状态。

在写一个房间管理器。 管理器里指定了房间的个数。 房间的状态,寻找空闲房间等。 通过manager 来管理obj

回到顶部