From b7b090b6257dba6a7fc967f21304564e7c74ad8d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 10 Aug 2023 19:30:44 +0800 Subject: [PATCH] 1 --- server/imserver/WSPListener.go | 23 +++++++---------------- server/imserver/app.go | 10 +++++----- server/imserver/cs/cs.generate.go | 6 ++++++ 3 files changed, 18 insertions(+), 21 deletions(-) diff --git a/server/imserver/WSPListener.go b/server/imserver/WSPListener.go index e084aca1..cf5042eb 100644 --- a/server/imserver/WSPListener.go +++ b/server/imserver/WSPListener.go @@ -9,24 +9,15 @@ import ( "cs" ) -type MsgHdr struct { - conn net.Conn - msgId int - seqId int - data []byte - msg interface{} - entry q5.ListHead -} - type WSPListener_ struct { listener net.Listener - ch <-chan *MsgHdr + ch <-chan *q5.MsgHdr } var WSPListener = new (WSPListener_) func (this *WSPListener_) Init() { - this.ch = make(chan *MsgHdr) + this.ch = make(chan *q5.MsgHdr) listener, err := net.Listen("tcp", "0.0.0.0:8888") if err != nil { @@ -75,9 +66,9 @@ func (this *WSPListener_) socketRead(conn net.Conn) { if bufLen - offset < 12 + packLen { continue } - hdr := new(MsgHdr) - hdr.msgId = int(buf[0]) >> 16 + int(buf[1]) - hdr.seqId = int(buf[0]) >> 16 + int(buf[1]) + hdr := new(q5.MsgHdr) + hdr.MsgId = int(buf[0]) >> 16 + int(buf[1]) + hdr.SeqId = int(buf[0]) >> 16 + int(buf[1]) offset += 12 + packLen } else { warning = true @@ -95,8 +86,8 @@ func (this *WSPListener_) socketRead(conn net.Conn) { func (this *WSPListener_) parseNetPkt() { for { if hdr, ok := <-this.ch; ok { - hdr.msg = cs.ParsePb(hdr.msgId, hdr.data) - if hdr.msg != nil { + hdr.Msg = cs.ParsePb(hdr.MsgId, hdr.Data) + if hdr.Msg != nil { } } diff --git a/server/imserver/app.go b/server/imserver/app.go index 9d775bf7..b0b2f917 100644 --- a/server/imserver/app.go +++ b/server/imserver/app.go @@ -44,11 +44,11 @@ func (this *App_) Update() { } for !this.workList.Empty() { next := this.workList.Next() - hdr, ok := next.GetData().(*MsgHdr) + hdr, ok := next.GetData().(*q5.MsgHdr) if ok { - handlerId := cs.GetMsgHandlerId(hdr.msgId) + handlerId := cs.GetMsgHandlerId(hdr.MsgId) if handlerId == PLAYER_MGR_HANDLER_ID { - cs.DispatchMsg(hdr.msgId, PlayerMgr) + cs.DispatchMsg(hdr.MsgId, PlayerMgr) } } next.Del() @@ -76,11 +76,11 @@ func (this *App_) goReportServerState() { } -func (this *App_) addNetMsg(hdr *MsgHdr) { +func (this *App_) addNetMsg(hdr *q5.MsgHdr) { { this.msgMutex.Lock() defer this.msgMutex.Unlock() - this.msgList.AddTail(&hdr.entry); + this.msgList.AddTail(&hdr.Entry); } this.NotifyLoopCond() } diff --git a/server/imserver/cs/cs.generate.go b/server/imserver/cs/cs.generate.go index f872647c..35b616ed 100644 --- a/server/imserver/cs/cs.generate.go +++ b/server/imserver/cs/cs.generate.go @@ -13,6 +13,12 @@ type MsgHandler interface { type MsgHandlerImpl struct { } +type NetMsgHandler struct { + MsgId int + HandlerId int + cb func(MsgHandler) +} + func (this *MsgHandlerImpl) CMPing(msg *CMPing) { }