Ejemplo n.º 1
0
 /// <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;
     }
 }
Ejemplo n.º 2
0
        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;
            }
        }