접속 종료시 pending 처리
This commit is contained in:
@ -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"},
|
||||||
})
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user