GameCore.NetWork.CNetTCPSocketConnect.GetAllReceivePack C# (CSharp) Метод

GetAllReceivePack() публичный Метод

取出消息缓存中所有接收到的消息队列,并清空消息缓存
public GetAllReceivePack ( List packList ) : void
packList List
Результат void
        public void GetAllReceivePack(List<SocketNetPacket> packList)
        {
            packList.Clear();

            if (null == m_ReceiveObject)
            {
                return;
            }

            // lock
            lock (m_ReceiveObject)
            {
                if (0 < m_ReceivePackList.Count)
                {
                    foreach (SocketNetPacket temPack in m_ReceivePackList)
                    {
                        packList.Add(temPack);
                    }
                    m_ReceivePackList.Clear();
                }

            }
            // unlock
        }

Usage Example

Пример #1
0
        //-------------------------------------------------------------------------
        private void __Update(CNetTCPSocketConnect connect)
        {
            if (null == connect)
            {
                return;
            }

            int nID = SNetCommon.NUNE_VALUE;
            // 进入连接器 状态回调
            ENUM_SOCKET_STATE sState = connect.Update(out nID);

            if (nID == m_ReadyToConnectSID)
            {
                m_currentConnectState = sState;
                m_currentConnectedSID = m_ReadyToConnectSID;
            }

            // 消息取出来 外部进行消息分发
            if (connect.IsConnect())
            {
                List <SocketNetPacket> packList = new List <SocketNetPacket>();
                connect.GetAllReceivePack(packList);
                foreach (SocketNetPacket tempack in packList)
                {
                    NetMessageRecieveHandle.GetInstance().OnRecvMessage(tempack);
                }
            }
        }
All Usage Examples Of GameCore.NetWork.CNetTCPSocketConnect::GetAllReceivePack