This commit is contained in:
azw 2023-08-17 07:22:31 +08:00
parent 4d7dbb1175
commit 184c7e2f85
6 changed files with 31 additions and 29 deletions

View File

@ -2,6 +2,7 @@ package main
import (
"cs"
"ss"
"f5"
"mt"
"q5"
@ -39,15 +40,25 @@ func (this *App) Update() {
next := this.netMsgQueue.WorkList.Next()
hdr, ok := next.GetData().(*f5.MsgHdr)
if ok {
handler := cs.GetNetMsgHandler(hdr.MsgId)
if handler != nil {
switch handler.HandlerId {
case PLAYER_MGR_HANDLER_ID:
cs.DispatchMsg(handler, hdr, playerMgr)
case PLAYER_HANDLER_ID:
player := playerMgr.getPlayerBySocket(hdr.GetSocket())
if player != nil {
cs.DispatchMsg(handler, hdr, player)
if hdr.MsgId < 100 {
handler := ss.GetNetMsgHandler(hdr.MsgId)
if handler != nil {
switch handler.HandlerId {
case WSP_LISTENER_HANDLER_ID:
ss.DispatchMsg(handler, hdr, wspListener)
}
}
} else {
handler := cs.GetNetMsgHandler(hdr.MsgId)
if handler != nil {
switch handler.HandlerId {
case PLAYER_MGR_HANDLER_ID:
cs.DispatchMsg(handler, hdr, playerMgr)
case PLAYER_HANDLER_ID:
player := playerMgr.getPlayerBySocket(hdr.GetSocket())
if player != nil {
cs.DispatchMsg(handler, hdr, player)
}
}
}
}

View File

@ -3,6 +3,7 @@ package main
const (
PLAYER_MGR_HANDLER_ID = 1
PLAYER_HANDLER_ID = 2
WSP_LISTENER_HANDLER_ID = 3
)
const (

View File

@ -9,7 +9,8 @@ type HandlerMgr struct {
}
func (this *HandlerMgr) init() {
ss.RegHandlerId(int(ss.SSMessageIdE__SS_Ping), PLAYER_MGR_HANDLER_ID)
ss.RegHandlerId(int(ss.SSMessageIdE__SS_Ping), WSP_LISTENER_HANDLER_ID)
ss.RegHandlerId(int(ss.SSMessageIdE__SS_WSP_SocketDisconnect), WSP_LISTENER_HANDLER_ID)
cs.RegHandlerId(int(cs.CMMessageIdE__CMPing), PLAYER_MGR_HANDLER_ID)
cs.RegHandlerId(int(cs.CMMessageIdE__CMLogin), PLAYER_MGR_HANDLER_ID)

View File

@ -10,8 +10,5 @@ enum SSMessageId_e
_SS_Pong = 9;
_SS_WSP_SocketDisconnect = 10;
_SS_WSP_RequestTargetServer = 11;
_SS_MS_ResponseTargetServer = 12;
_SS_ForceCloseSocket = 13;
}

View File

@ -16,22 +16,6 @@ message SS_WSP_SocketDisconnect
{
}
message SS_WSP_RequestTargetServer
{
optional int64 context_id = 1;
optional string account_id = 2;
optional string team_id = 3;
}
message SS_MS_ResponseTargetServer
{
optional int32 error_code = 1;
optional string error_msg = 2;
optional int64 context_id = 3;
optional string host = 4;
optional int32 port = 5;
}
message SS_ForceCloseSocket
{
}

View File

@ -7,12 +7,14 @@ import (
"q5"
"f5"
"cs"
"ss"
"mt"
proto "github.com/golang/protobuf/proto"
)
type WSPListener struct {
ss.MsgHandlerImpl
listener net.Listener
ch chan *f5.MsgHdr
msgList q5.ListHead
@ -34,6 +36,12 @@ func (this *WSPListener) init() {
func (this *WSPListener) unInit() {
}
func (this *WSPListener) SS_ping(hdr *f5.MsgHdr, msg *ss.SS_Ping) {
}
func (this *WSPListener) SS_WSP_SocketDisconnect(hdr *f5.MsgHdr, msg *ss.SS_WSP_SocketDisconnect) {
}
func (this *WSPListener) accept() {
fmt.Println("accpet")
for {