This commit is contained in:
aozhiwei 2023-09-24 16:04:44 +08:00
parent a588de77a3
commit e4a5f250f5

View File

@ -50,11 +50,15 @@ func (this *playerMgr) Init() {
constant.IM_WSP_CLOSE,
func (args q5.Args) {
conn := args[0].(net.Conn)
for socket, _ := range(this.socketHash) {
deletedPlayers := make(map[f5.WspCliConn]*player)
for socket, hum := range(this.socketHash) {
if conn == socket.Conn {
deletedPlayers[socket] = hum
}
}
for socket, _ := range(deletedPlayers) {
this.onSocketClose(socket)
}
})
}
@ -257,12 +261,7 @@ func (this *playerMgr) genSeqId() *int64 {
}
func (this *playerMgr) SS_WSP_SocketDisconnect(hdr *f5.MsgHdr, msg *ss.SS_WSP_SocketDisconnect) {
hum := this.internalGetPlayerBySocket(hdr.GetSocket())
if hum == nil {
return
}
delete(this.socketHash, hdr.GetSocket())
hum.onOffline()
this.onSocketClose(hdr.GetSocket())
}
func (this *playerMgr) CMReconnect(hdr *f5.MsgHdr, msg *cs.CMReconnect) {
@ -283,3 +282,12 @@ func (this *playerMgr) CMReconnect(hdr *f5.MsgHdr, msg *cs.CMReconnect) {
hum.reBind(hdr.GetSocket())
GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
}
func (this *playerMgr) onSocketClose(conn f5.WspCliConn) {
hum := this.internalGetPlayerBySocket(conn)
if hum == nil {
return
}
delete(this.socketHash, conn)
hum.onOffline()
}