Exemplo n.º 1
0
        public IEnumerator Process()
        {
            lock (NGNetwork.Socket.MBufferQueue)
            {
                // NGLogger.LogDebug("Lock BufferQueue");
                while (NGNetwork.Socket.MBufferQueue.Count > 0)
                {
                    //NGLogger.LogDebug("Proceess BufferQueue");
                    NGBuffer buffer = NGNetwork.Socket.MBufferQueue.Dequeue();
                    mReceiveCache.AddRange(buffer.Bytes);
                    byte[] currBytes;
                    while ((currBytes = NGMessageCodec.Decode(ref mReceiveCache)) != null)
                    {
                        //NGLogger.LogDebug("Decode message from BufferQueue");
                        //mReceiveCache.Clear();
                        //ProcessRecieveData(currBytes);
                        MessageProcessor(currBytes);
                    }
                }
            }

            yield return new WaitForSeconds(2);
        }