Example #1
0
 private void OnHeartBeatRsp(HeartBeatRsp rsp)
 {
     Debuger.Log();
     if (rsp.ret.code == 0)
     {
         uint current = (uint)TimeUtils.GetTotalMillisecondsSince1970();
         uint dt      = current - rsp.timestamp;
         m_ping = dt / 2;
     }
 }
        private void OnHeartBeatReq(ISession session, uint index, HeartBeatReq req)
        {
            UserData ud = GetUserData(session.uid);

            if (ud != null)
            {
                ud.svrdata.lastHeartBeatTime = (uint)TimeUtils.GetTotalSecondsSince1970();
                session.ping = req.ping;

                HeartBeatRsp rsp = new HeartBeatRsp();
                rsp.ret       = ReturnCode.Success;
                rsp.timestamp = req.timestamp;
                m_net.Send(session, index, ProtoCmd.HeartBeatRsp, rsp);
            }
            else
            {
                Debuger.LogWarning("找不到Session 对应的UserData! session:{0}", session);
            }
        }
Example #3
0
        public ICommandResponse ParseCommand(string commandString)
        {
            if (commandString.Contains("get_id_list_ack"))
            {
                DiscoverGatewayRsp resp = JsonConvert.DeserializeObject <DiscoverGatewayRsp>(commandString);
                return(resp);
            }
            else if (commandString.Contains("read_ack") || commandString.Contains("write_ack"))
            {
                DiscoverDeviceRsp resp = JsonConvert.DeserializeObject <DiscoverDeviceRsp>(commandString);
                return(resp);
            }
            else if (commandString.Contains("heartbeat"))
            {
                HeartBeatRsp resp = JsonConvert.DeserializeObject <HeartBeatRsp>(commandString);
                return(resp);
            }

            return(null);
        }
Example #4
0
 private async Task HeartBeat(HeartBeatRsp heartBeatRsp)
 {
     _tokenKeeper.SetTokenForGateway(heartBeatRsp.sid, heartBeatRsp.token);
 }