修复断线房间未删除问题

This commit is contained in:
aozhiwei 2024-02-08 17:41:31 +08:00
parent 0051c43d9e
commit e2c998b9b4
4 changed files with 8 additions and 8 deletions

View File

@ -39,6 +39,7 @@ type PlayerMgr interface {
ProcessCMMsg(*cs.CsNetMsgHandler, *f5.MsgHdr)
GetPlayerBySocket(f5.WspCliConn) Player
GetPlayerByAccountId(string) Player
OnSocketClose(f5.WspCliConn)
}
type WspListener interface {

View File

@ -12,8 +12,8 @@ type HandlerMgr struct {
func (this *HandlerMgr) Init() {
ss.RegHandlerId(int(ss.SSMessageIdE__SS_Ping), constant.WSP_LISTENER_HANDLER_ID)
ss.RegHandlerId(int(ss.SSMessageIdE__SS_WSP_SocketDisconnect), constant.WSP_LISTENER_HANDLER_ID)
ss.RegHandlerId(int(ss.SSMessageIdE__SS_WSP_SocketDisconnect), constant.PLAYER_MGR_HANDLER_ID)
cs.RegHandlerId(int(cs.CMMessageIdE__CMPing), constant.PLAYER_MGR_HANDLER_ID)
cs.RegHandlerId(int(cs.CMMessageIdE__CMLogin), constant.PLAYER_MGR_HANDLER_ID)
cs.RegHandlerId(int(cs.CMMessageIdE__CMReconnect), constant.PLAYER_MGR_HANDLER_ID)

View File

@ -43,6 +43,10 @@ func (this *WSPListener) SS_ping(hdr *f5.MsgHdr, msg *ss.SS_Ping) {
this.SendProxyMsg(hdr.Conn, 0, &rspMsg)
}
func (this *WSPListener) SS_WSP_SocketDisconnect(hdr *f5.MsgHdr, msg *ss.SS_WSP_SocketDisconnect) {
GetPlayerMgr().OnSocketClose(hdr.GetSocket())
}
func (this *WSPListener) accept() {
fmt.Println("accpet")
for {

View File

@ -12,7 +12,6 @@ import (
"mt"
"net"
"q5"
"ss"
)
type pendingLoginRequest struct {
@ -57,7 +56,7 @@ func (this *playerMgr) Init() {
}
}
for socket, _ := range deletedPlayers {
this.onSocketClose(socket)
this.OnSocketClose(socket)
}
})
}
@ -266,10 +265,6 @@ func (this *playerMgr) genSeqId() *int64 {
return &reqId
}
func (this *playerMgr) SS_WSP_SocketDisconnect(hdr *f5.MsgHdr, msg *ss.SS_WSP_SocketDisconnect) {
this.onSocketClose(hdr.GetSocket())
}
func (this *playerMgr) CMReconnect(hdr *f5.MsgHdr, msg *cs.CMReconnect) {
hum := this.internalGetPlayerByAccountId(msg.GetAccountId())
rspMsg := &cs.SMReconnect{}
@ -289,7 +284,7 @@ func (this *playerMgr) CMReconnect(hdr *f5.MsgHdr, msg *cs.CMReconnect) {
GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
}
func (this *playerMgr) onSocketClose(conn f5.WspCliConn) {
func (this *playerMgr) OnSocketClose(conn f5.WspCliConn) {
hum := this.internalGetPlayerBySocket(conn)
if hum == nil {
return