Commit a5285489 by 蒋勇

d

parent 16ce9220
...@@ -46,8 +46,10 @@ class RoomSet { ...@@ -46,8 +46,10 @@ class RoomSet {
await redisClient.sadd(this.roomsetkey, roomname) await redisClient.sadd(this.roomsetkey, roomname)
//房间中缓存链接的客户uk //房间中缓存链接的客户uk
await redisClient.sadd(roomname, ukencstr) await redisClient.sadd(roomname, ukencstr)
// 订阅房间消息 // 订阅房间消息,进入一个房间就要订阅这个房间的消息
await redisClient.subscribe(roomname, this.server); await redisClient.subscribe(roomname, this.server);
//发送新登录用户的广播
redisClient.publish("brc", "hello,world,i coming....")
return {} return {}
} }
...@@ -104,7 +106,7 @@ class MsgHandler { ...@@ -104,7 +106,7 @@ class MsgHandler {
}); });
//self.server.users[to].emit("chatmsg",msg); //self.server.users[to].emit("chatmsg",msg);
}); });
//http-proxy转发处理
//响应消息处理 //响应消息处理
this.client.on("replymsg", (msg, fn) => { this.client.on("replymsg", (msg, fn) => {
var p = null; var p = null;
...@@ -179,7 +181,7 @@ class SocketServer { ...@@ -179,7 +181,7 @@ class SocketServer {
console.log("rm ano...", prevukstr) console.log("rm ano...", prevukstr)
delete self.users[prevukstr] delete self.users[prevukstr]
delete self.uinfos[prevukstr] delete self.uinfos[prevukstr]
this.rooms.exitRoom(prevukstr, prevukstr) self.rooms.exitRoom(prevukstr, prevukstr)
} }
self.socketidMap[client.id] = ukencstr self.socketidMap[client.id] = ukencstr
//保存所有的客户端的消息处理器 //保存所有的客户端的消息处理器
...@@ -187,7 +189,7 @@ class SocketServer { ...@@ -187,7 +189,7 @@ class SocketServer {
self.uinfos[ukencstr] = encuk self.uinfos[ukencstr] = encuk
//(订阅uk)开私人频道房间,并缓存房间名 //(订阅uk)开私人频道房间,并缓存房间名
this.rooms.joinRoom(ukencstr, ukencstr) self.rooms.joinRoom(ukencstr, ukencstr)
}) })
// // // //
...@@ -198,10 +200,16 @@ class SocketServer { ...@@ -198,10 +200,16 @@ class SocketServer {
client.on('disconnect', async function (r) { client.on('disconnect', async function (r) {
console.log("connection.........................................dismiss.............", client.id, r); console.log("connection.........................................dismiss.............", client.id, r);
let ukencstr = self.socketidMap[client.id] let ukencstr = self.socketidMap[client.id]
if (ukencstr && ukencstr != "undefined") {
console.log(ukencstr, "will delete.....")
delete self.users[ukencstr] delete self.users[ukencstr]
delete self.uinfos[ukencstr] delete self.uinfos[ukencstr]
//断开链接时,从自己私人房间退出
self.rooms.exitRoom(ukencstr, ukencstr)
//删除私人房间uk
delete self.socketidMap[client.id] delete self.socketidMap[client.id]
this.rooms.exitRoom(ukencstr, ukencstr) }
}); });
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment