Ejemplo n.º 1
0
 private void CallBackNetState(EClientNetWorkState a_eState)
 {
     try
     {
         if (this.m_StateCallBack != null)
         {
             this.m_StateCallBack(a_eState, this.m_strRomoteIP, this.m_uRemotePort);
         }
     }
     catch (Exception e)
     {
         this.DidConnectError(e);
     }
 }
Ejemplo n.º 2
0
 private void CallBackNetState(EClientNetWorkState a_eState)
 {
     try
     {
         lua_.RawGetI(LuaAPI.LUA_REGISTRYINDEX, net_state_func_handle_ref_);
         lua_.PushInteger((int)a_eState);
         lua_.PushString(m_strRomoteIP);
         lua_.PushInteger(m_uRemotePort);
         lua_.PCall(3, 0, 0);
     }
     catch
     {
         DidDisconnect();
     }
 }
Ejemplo n.º 3
0
        public void Update()
        {
            MemoryStreamEx comunicationMem = this.m_ComunicationMem;

            Monitor.Enter(comunicationMem);
            try
            {
                if (this.m_ComunicationMem.Length > 0L)
                {
                    if (this.m_Reader != null)
                    {
                        this.m_Reader.DidReadData(this.m_ComunicationMem.GetBuffer(), (int)this.m_ComunicationMem.Length);
                    }
                    this.m_ComunicationMem.Clear();
                }
            }
            finally
            {
                Monitor.Exit(comunicationMem);
            }
            object eNetWorkState = this.m_eNetWorkState;

            Monitor.Enter(eNetWorkState);
            try
            {
                EClientNetWorkState eClientNetWorkState = (EClientNetWorkState)((int)this.m_eNetWorkState);
                if (eClientNetWorkState == EClientNetWorkState.E_CNWS_CONNECTED)
                {
                    this.CallBackNetState(eClientNetWorkState);
                    m_eNetWorkState = EClientNetWorkState.E_CNWS_NORMAL;
                }
                if (eClientNetWorkState > EClientNetWorkState.E_CNWS_NORMAL && this.m_ClientSocket != null)
                {
                    this.ReleaseSocket();
                    this.CallBackNetState(eClientNetWorkState);
                }
            }
            finally
            {
                Monitor.Exit(eNetWorkState);
            }
        }
Ejemplo n.º 4
0
 public void Update()
 {
     lock (m_ComunicationMem)
     {
         if (m_ComunicationMem.Length > 0)
         {
             if (m_Reader != null)
             {
                 m_Reader.DidReadData(m_ComunicationMem.GetBuffer(), (int)(m_ComunicationMem.Length));
             }
             m_ComunicationMem.Clear();
         }
     }
     lock (m_eNetWorkState)
     {
         EClientNetWorkState eState = (EClientNetWorkState)m_eNetWorkState;
         if (eState > EClientNetWorkState.E_CNWS_NORMAL)
         {
             if (m_ClientSocket != null)
             {
                 ReleaseSocket();
                 CallBackNetState(eState);
                 eState = EClientNetWorkState.E_CNWS_NOT_UNABLE;
             }
         }
         else if (connectState == EClientConnectState.E_NOT_CONNECT)
         {
             connect_timeout += Time.deltaTime;
             if (connect_timeout > CONNECT_TIME_OUT)
             {
                 connect_timeout = 0;
                 DidDisconnect();
             }
         }
         else if (connectState == EClientConnectState.E_CONNECT)
         {
             // µ÷ÓÃlua½Ó¿Ú
             CallBackNetState(EClientNetWorkState.E_CNWS_NORMAL);
             connectState = EClientConnectState.E_NOTICE_CONNECT;
         }
     }
 }
Ejemplo n.º 5
0
 private void CallBackNetState(EClientNetWorkState a_eState)
 {
     try
     {
         if (this.m_StateCallBack != null)
         {
             this.m_StateCallBack(a_eState, this.m_strRomoteIP, this.m_uRemotePort);
         }
     }
     catch (Exception e)
     {
         this.DidConnectError(e);
     }
 }