public override void OnHeartBeat(UpdateContext context) { base.OnHeartBeat(context); if (!this._inited || context.utcTime - this._lastPingCSTickCounter < Consts.DEFAULT_PING_CD_TICK) { return; } GSToCS.Asking sPing = new GSToCS.Asking { Time = context.utcTime }; byte[] data = sPing.ToByteArray(); this.owner.TranMsgToSession(this.id, data, 0, data.Length, ( int )GSToCS.MsgID.EMsgToCsfromGsAskPing, 0, 0); this._lastPingCSTickCounter = context.utcTime; }
private ErrorCode OnMsgFromGSAskPing(byte[] data, int offset, int size, int transID, int msgID, uint gcNetIDID) { GSToCS.Asking askPing = new GSToCS.Asking(); askPing.MergeFrom(data, offset, size); CSToGS.AskPing msg = new CSToGS.AskPing { Time = askPing.Time }; CSGSInfo csgsInfo = CS.instance.GetGSInfoByNSID(this.id); if (csgsInfo == null) { return(ErrorCode.GSNotFound); } this.owner.TranMsgToSession(csgsInfo.m_n32NSID, msg, ( int )CSToGS.MsgID.EMsgToGsfromCsAskPingRet, 0, 0); return(ErrorCode.Success); }