/// <summary>
        /// 处理中心服务器返回的ping消息
        /// </summary>
        private ErrorCode OnMsgFromCSAskPingRet(byte[] data, int offset, int size, int transID, int msgID, uint gcNetID)
        {
            CSToGS.AskPing pingRet = new CSToGS.AskPing();
            pingRet.MergeFrom(data, offset, size);

            long curMilsec = TimeUtils.utcTime;
            long tickSpan  = curMilsec - pingRet.Time;

            Logger.Info($"Ping CS returned, tick span {tickSpan}.");

            return(ErrorCode.Success);
        }
        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);
        }