diff --git a/server/imserver_new/common/types.go b/server/imserver_new/common/types.go index 0cf12718..971bf6d4 100644 --- a/server/imserver_new/common/types.go +++ b/server/imserver_new/common/types.go @@ -33,6 +33,7 @@ type LoginRsp struct { type WspListener interface { ProcessSSMMsg(*ss.SsNetMsgHandler, *f5.MsgHdr) SendProxyMsg(net.Conn, uint16, proto.Message) + SendProxyErrMsg(net.Conn, uint16, proto.Message, int32, string) } type App interface { diff --git a/server/imserver_new/listener/wsplistener.go b/server/imserver_new/listener/wsplistener.go index 8ee66c65..0b16847b 100644 --- a/server/imserver_new/listener/wsplistener.go +++ b/server/imserver_new/listener/wsplistener.go @@ -40,7 +40,7 @@ func (this *WSPListener) unInit() { func (this *WSPListener) SS_ping(hdr *f5.MsgHdr, msg *ss.SS_Ping) { rspMsg := ss.SS_Pong{} - 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) { @@ -160,7 +160,7 @@ func (this *WSPListener) parseNetPkt() { } } -func (this *WSPListener) sendProxyMsg(conn net.Conn, socketHandle uint16, msg proto.Message) { +func (this *WSPListener) SendProxyMsg(conn net.Conn, socketHandle uint16, msg proto.Message) { netMsg := msg.(f5.NetMsg) if !f5.IsOnlineEnv() { f5.GetSysLog().Info("%s %s", q5.GetTypeName(msg), q5.EncodeJson(msg)) @@ -180,3 +180,8 @@ func (this *WSPListener) sendProxyMsg(conn net.Conn, socketHandle uint16, msg pr copy(buff[f5.WSPROXYPACKHEAD_S_SIZE:], msgData[:]) conn.Write(buff) } + +func (this *WSPListener) SendProxyErrMsg(conn net.Conn, socketHandle, uint16, msg proto.Message, + errCode int32, errMsg string) { + +} diff --git a/server/imserver_new/player/playermgr.go b/server/imserver_new/player/playermgr.go index c991792e..0aacc0e2 100644 --- a/server/imserver_new/player/playermgr.go +++ b/server/imserver_new/player/playermgr.go @@ -137,22 +137,22 @@ func (this *playerMgr) apiAuthCb(hdr *f5.MsgHdr, msg *cs.CMLogin, reqId int64, rspMsg := cs.SMLogin{} if rsp.GetErr() != nil { - rspMsg.Errcode = proto.Int32(2) - rspMsg.Errmsg = proto.String("server internal error") - GetWspListener().SendProxyMsg(pendingReq.hdr.Conn, pendingReq.hdr.SocketHandle, &rspMsg) + GetWspListener().SendProxyErrMsg(pendingReq.hdr.Conn, pendingReq.hdr.SocketHandle, &rspMsg, + 2, + "server internal error") f5.GetSysLog().Info("Api服务器JSON 解析错误1\n") return } if !rsp.JsonParseOk() { - rspMsg.Errcode = proto.Int32(2) - rspMsg.Errmsg = proto.String("server internal error") - GetWspListener().SendProxyMsg(pendingReq.hdr.Conn, pendingReq.hdr.SocketHandle, &rspMsg) + GetWspListener().SendProxyErrMsg(pendingReq.hdr.Conn, pendingReq.hdr.SocketHandle, &rspMsg, + 2, + "server internal error") return } if rspObj.Errcode != 0 { - rspMsg.Errcode = proto.Int32(1) - rspMsg.Errmsg = proto.String("invalid session_id") - GetWspListener().SendProxyMsg(pendingReq.hdr.Conn, pendingReq.hdr.SocketHandle, &rspMsg) + GetWspListener().SendProxyErrMsg(pendingReq.hdr.Conn, pendingReq.hdr.SocketHandle, &rspMsg, + 1, + "invalid session_id") f5.GetSysLog().Error("Api服务器errcode:%d", rspObj.Errcode) return }