This commit is contained in:
aozhiwei 2024-03-22 15:44:29 +08:00
parent b2e537df9d
commit d13053c24c
6 changed files with 12 additions and 8 deletions

View File

@ -120,6 +120,7 @@ type Player interface {
type PlayerMgr interface {
ProcessCMMsg(*cs.CsNetMsgHandler, *f5.MsgHdr)
GetPlayerBySocket(f5.WspCliConn) Player
OnSocketClose(f5.WspCliConn)
}
type MatchMgr 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

@ -83,6 +83,7 @@ func (this *player) GetSocket() f5.WspCliConn {
func (this *player) onOffline(){
this.socket.Reset()
this.GetTeam().Leave(this)
}
func (this *player) reBind(socket f5.WspCliConn) {

View File

@ -12,7 +12,6 @@ import (
"mt"
"net"
"q5"
"ss"
)
type pendingLoginRequest struct {
@ -55,7 +54,7 @@ func (this *playerMgr) Init() {
}
}
for socket, _ := range deletedPlayers {
this.onSocketClose(socket)
this.OnSocketClose(socket)
}
})
}
@ -296,10 +295,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.internalGetPlayerBySocket(hdr.GetSocket())
rspMsg := &cs.SMReconnect{}
@ -332,7 +327,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

View File

@ -82,6 +82,7 @@ func (this *matchMgr) mustBeZn(key int64) *q5.ListHead {
func (this *matchMgr) execMatch(m *matchingInfo) {
if q5.GetTickCount() - m.addTick > 1000 * 7 {
m.entry.DelInit()
f5.GetTimer().DeleteRunningTimer()
m.team.setMatchOk(nil)
startTime := f5.GetApp().GetNowSeconds()
@ -111,6 +112,8 @@ func (this *matchMgr) execMatch(m *matchingInfo) {
func (this *matchMgr) onMatchOk(m *matchingInfo) {
delete(this.teamUuidHash, m.team.GetTeamUuid())
delete(this.teamUuidHash, m.matchOk.team.GetTeamUuid())
m.entry.DelInit()
m.matchOk.entry.DelInit()
f5.GetTimer().DeleteRunningTimer()
if !m.matchOk.matchTimerWp.Expired() {