Пример #1
0
    //public void TimerEVent(object myobject,EventArgs myEventArgs)
    //{
    //	Debug.Log("Timer......");

    //}

    public void DisposeMessage()
    {
        //Debug.Log("logic receive message!");
        lock (m_DelayReceiveDataArray)
        {
            if (m_DelayReceiveDataArray.Count > 0)
            {
                while (m_DelayReceiveDataArray.Count > 0)
                {
                    CSendData data = (CSendData)m_DelayReceiveDataArray[0];
                    m_ReceiveDataArray.Add(data);
                    m_DelayReceiveDataArray.RemoveAt(0);
                }
            }
        }

        while (m_ReceiveDataArray.Count > 0)
        {
            // if (!CHandleMgr.GetSingle().GetLock())
            {
                CSendData data = (CSendData)m_ReceiveDataArray[0];
                CHandleMgr.GetSingle().ReceiveByte(data.m_bDataList, data.m_nLength);
                m_ReceiveDataArray.RemoveAt(0);
            }
        }
    }
Пример #2
0
    //send data from list
    private void SendDataFromList()
    {
        try
        {
            while (true)
            {
                if (ClientNetMgr.GetSingle().IsConnect())
                {
                    if (m_SendDataList.Count <= 0)
                    {
                        Thread.Sleep(30);
                        continue;
                    }
                    //Debug.Log("SendData:Send Count!"+m_SendDataList.Count);
                    System.Net.Sockets.NetworkStream netStream = ClientNetMgr.GetSingle().GetNetworkStream();
                    lock (netStream)
                    {
                        if (netStream != null && netStream.CanWrite)
                        {
                            lock (m_SendDataList)
                            {
                                CSendData data = (CSendData)m_SendDataList[0];
                                netStream.Write(data.m_bDataList, 0, data.m_nLength);
                                m_SendDataList.RemoveAt(0);
                                //Debug.Log( "<color=#FFc900>Send packet:</color>"+ data.m_nMessageID);


                                //Debug.Log("Send packet:" + data.m_nMessageID);
                            }
                        }
                    }
                }
                else
                {
                    //CloseSendThread();
                    break;
                }
            }
        }
        catch (System.Exception ex)
        {
            Debug.Log(ex.Message);
        }
    }