접속 종료시 pending 처리

This commit is contained in:
2024-01-24 18:16:26 +09:00
parent 2cf1ebb88f
commit e4b0f569e8

View File

@ -804,28 +804,30 @@ func (gp *groupParty) ClientDisconnected(msg string, callby *wshandler.Sender) {
// 나를 먼저 룸에서 빼야 나한테 메시지가 안감 // 나를 먼저 룸에서 빼야 나한테 메시지가 안감
gp.leaveRoom(gid, callby.Accid) gp.leaveRoom(gid, callby.Accid)
gd := &partyDoc{ if msg != "pending" {
rh: gp.rh, gd := &partyDoc{
id: gid, rh: gp.rh,
} id: gid,
}
if gd.getIncharge() == gd.tid(callby.Accid) { if gd.getIncharge() == gd.tid(callby.Accid) {
// 방장이 나감. 방 폭파 // 방장이 나감. 방 폭파
gp.sendUpstreamMessage(&wshandler.UpstreamMessage{ gp.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "#" + gidstr, Target: "#" + gidstr,
Body: bson.M{"gid": gid}, Body: bson.M{"gid": gid},
Tag: []string{"GroupDocFull", gidstr}, Tag: []string{"GroupDocFull", gidstr},
}) })
gd.rh.Del(gd.rh.Context(), gd.strid()).Result() gd.rh.Del(gd.rh.Context(), gd.strid()).Result()
} else if msg != "pending" { } else {
// gid에는 제거 메시지 보냄 // gid에는 제거 메시지 보냄
gp.sendUpstreamMessage(&wshandler.UpstreamMessage{ gp.sendUpstreamMessage(&wshandler.UpstreamMessage{
Target: "#" + gidstr, Target: "#" + gidstr,
Body: bson.M{ Body: bson.M{
makeTid(gid, callby.Accid): bson.M{}, makeTid(gid, callby.Accid): bson.M{},
}, },
Tag: []string{"MemberDocFull"}, Tag: []string{"MemberDocFull"},
}) })
}
} }
} }
} }