41 lines
1.0 KiB
Go
41 lines
1.0 KiB
Go
package api
|
|
|
|
import (
|
|
"omc/core"
|
|
"omc/core/parse"
|
|
|
|
"github.com/aceld/zinx/ziface"
|
|
"github.com/aceld/zinx/zlog"
|
|
"github.com/aceld/zinx/znet"
|
|
)
|
|
|
|
var ReqHeartBeatMsgID uint32 = 8
|
|
var ReqHeartBeatMsgType uint32 = 9
|
|
var ReqHeartBeatName string = "ackHeartBeat"
|
|
|
|
// ReqHeartBeat 心跳
|
|
type ReqHeartBeat struct {
|
|
znet.BaseRouter
|
|
}
|
|
|
|
// reqHeartBeat;reqId=12
|
|
func (s *ReqHeartBeat) Handle(request ziface.IRequest) {
|
|
// 解包
|
|
body, err := parse.RequestBodyDecode(request, nil)
|
|
if err != nil {
|
|
zlog.Ins().ErrorF("inlaid message body %s", err.Error())
|
|
request.GetConnection().SendMsg(ReqHeartBeatMsgType, core.ResultError(ReqHeartBeatName, "inlaid message body", ""))
|
|
return
|
|
}
|
|
|
|
reqId, ok := body.Data["reqId"]
|
|
if !ok {
|
|
zlog.Ins().ErrorF("missing parameter of message body")
|
|
request.GetConnection().SendMsg(ReqHeartBeatMsgType, core.ResultError(ReqHeartBeatName, "missing parameter of message body", ""))
|
|
return
|
|
}
|
|
|
|
//ack
|
|
request.GetConnection().SendMsg(ReqHeartBeatMsgType, core.ResultSuccess(ReqHeartBeatName, "ok", reqId))
|
|
}
|