package api import ( "github.com/aceld/zinx/ziface" "github.com/aceld/zinx/zlog" "github.com/aceld/zinx/znet" "omc/omc" ) // HeartBeatApi 心跳请求 type HeartBeatApi struct { znet.BaseRouter } func (*HeartBeatApi) Handle(request ziface.IRequest) { // 解包 msgBody := omc.MsgBody{ RawData: request.GetData(), Msg: make(map[string]string, 0), } if err := msgBody.Decode(); err != nil { zlog.Ins().ErrorF("inlaid message body %s", err.Error()) request.GetConnection().SendMsg(omc.AckHeartBeat, omc.ErrorMsg("ackHeartBeat", "", "inlaid message body")) return } reqId, ok := msgBody.Msg["reqId"] if !ok { zlog.Ins().ErrorF("missing parameter of message body") request.GetConnection().SendMsg(omc.AckHeartBeat, omc.ErrorMsg("ackHeartBeat", "", "missing parameter of message body")) return } //ack ackBody := omc.MsgBody{ MsgName: "ackHeartBeat", Msg: make(map[string]string, 0), } ackBody.Msg["reqId"] = reqId ackBody.Pack() request.GetConnection().SendMsg(omc.AckHeartBeat, ackBody.RawData) }