修复断线房间未删除问题
This commit is contained in:
parent
0051c43d9e
commit
e2c998b9b4
@ -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 {
|
||||
|
@ -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)
|
||||
|
@ -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 {
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user