/// <summary> /// 仅仅提供m_kcp的时钟。 /// </summary> void SmartUpdateKCP(UInt32 current) { if (m_Status != ClientSessionStatus.Connected) { return; } if (m_NeedUpdateFlag || current >= m_NextUpdateTime) { m_Kcp.Update(current); m_NextUpdateTime = m_Kcp.Check(current); m_NeedUpdateFlag = false; } }
void update(UInt32 current) { switch (this.Status) { case ClientSessionStatus.InConnect: ProcessHandshake(); break; case ClientSessionStatus.ConnectFail: return; default: break; } process_recv_queue(); if (m_NeedUpdateFlag || current >= m_NextUpdateTime) { m_Kcp.Update(current); m_NextUpdateTime = m_Kcp.Check(current); m_NeedUpdateFlag = false; } }