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); } }
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); }
private async Task HeartBeat(HeartBeatRsp heartBeatRsp) { _tokenKeeper.SetTokenForGateway(heartBeatRsp.sid, heartBeatRsp.token); }