修复断线房间未删除问题
This commit is contained in:
parent
0051c43d9e
commit
e2c998b9b4
@ -39,6 +39,7 @@ type PlayerMgr interface {
|
|||||||
ProcessCMMsg(*cs.CsNetMsgHandler, *f5.MsgHdr)
|
ProcessCMMsg(*cs.CsNetMsgHandler, *f5.MsgHdr)
|
||||||
GetPlayerBySocket(f5.WspCliConn) Player
|
GetPlayerBySocket(f5.WspCliConn) Player
|
||||||
GetPlayerByAccountId(string) Player
|
GetPlayerByAccountId(string) Player
|
||||||
|
OnSocketClose(f5.WspCliConn)
|
||||||
}
|
}
|
||||||
|
|
||||||
type WspListener interface {
|
type WspListener interface {
|
||||||
|
@ -12,8 +12,8 @@ type HandlerMgr struct {
|
|||||||
|
|
||||||
func (this *HandlerMgr) Init() {
|
func (this *HandlerMgr) Init() {
|
||||||
ss.RegHandlerId(int(ss.SSMessageIdE__SS_Ping), constant.WSP_LISTENER_HANDLER_ID)
|
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__CMPing), constant.PLAYER_MGR_HANDLER_ID)
|
||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMLogin), 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)
|
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)
|
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() {
|
func (this *WSPListener) accept() {
|
||||||
fmt.Println("accpet")
|
fmt.Println("accpet")
|
||||||
for {
|
for {
|
||||||
|
@ -12,7 +12,6 @@ import (
|
|||||||
"mt"
|
"mt"
|
||||||
"net"
|
"net"
|
||||||
"q5"
|
"q5"
|
||||||
"ss"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type pendingLoginRequest struct {
|
type pendingLoginRequest struct {
|
||||||
@ -57,7 +56,7 @@ func (this *playerMgr) Init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for socket, _ := range deletedPlayers {
|
for socket, _ := range deletedPlayers {
|
||||||
this.onSocketClose(socket)
|
this.OnSocketClose(socket)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -266,10 +265,6 @@ func (this *playerMgr) genSeqId() *int64 {
|
|||||||
return &reqId
|
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) {
|
func (this *playerMgr) CMReconnect(hdr *f5.MsgHdr, msg *cs.CMReconnect) {
|
||||||
hum := this.internalGetPlayerByAccountId(msg.GetAccountId())
|
hum := this.internalGetPlayerByAccountId(msg.GetAccountId())
|
||||||
rspMsg := &cs.SMReconnect{}
|
rspMsg := &cs.SMReconnect{}
|
||||||
@ -289,7 +284,7 @@ func (this *playerMgr) CMReconnect(hdr *f5.MsgHdr, msg *cs.CMReconnect) {
|
|||||||
GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
|
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)
|
hum := this.internalGetPlayerBySocket(conn)
|
||||||
if hum == nil {
|
if hum == nil {
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user