Пример #1
0
        public void Collect(Byte[] Msg)
        {
            CastPacket Pac = (CastPacket)SerializationUnit.DeserializeObject(Msg);

            if (Pac == null)
            {
                return;
            }

            if (Pac.Data == null)
            {
                return;
            }

            lock (ObjLock)
            {
                List <CastPacket> ListPacket = null;
                Boolean           bContain   = DicCollectedPacket.TryGetValue(Pac.TimeStamp, out ListPacket);
                if (bContain == false)
                {
                    ListPacket = new List <CastPacket>();
                    ListPacket.Add(Pac);
                    DicCollectedPacket.Add(Pac.TimeStamp, ListPacket);
                }
                else
                {
                    ListPacket.Add(Pac);
                }
                CurrentTimeStamp = Math.Max(Pac.TimeStamp, CurrentTimeStamp);
            }
        }
Пример #2
0
        public void Collect(Byte[] Msg)
        {
            //CastPacket Pac = (CastPacket)SerializationUnit.DeserializeObject(Msg);
            //strjson.Add("TimeStamp", TimeStamp);
            //strjson.Add("total", total);
            //strjson.Add("index", total);
            //strjson.Add("data", chunk);
            //strjson.Add("dataOffset", chunkLength * chunks);
            //strjson.Add("totalLength", data.Length);


            long TimeStamp = getLong(Msg, 0);

            int total = getInt(Msg, 8);

            int index = getInt(Msg, 12);

            int dataOffset = getInt(Msg, 16);

            int totalLength = getInt(Msg, 20);

            byte[] content = subBytes(Msg, 24, Msg.Length - 24);

            Console.WriteLine("TimeStamp=" + TimeStamp + ",total=" + total + ",index=" + index + ",dataOffset=" + dataOffset + ",totalLength=" + totalLength);

            //JObject Pac = JObject.Parse(str);
            if (content == null)
            {
                return;
            }

            // if (Pac.Data == null)
            //    return;

            lock (ObjLock)
            {
                List <byte[]> ListPacket = null;
                Boolean       bContain   = DicCollectedPacket.TryGetValue(TimeStamp, out ListPacket);
                if (bContain == false)
                {
                    ListPacket = new List <byte[]>();
                    ListPacket.Add(Msg);
                    DicCollectedPacket.Add(TimeStamp, ListPacket);
                }
                else
                {
                    ListPacket.Add(Msg);
                }

                Console.WriteLine("Collect tostring>>>" + ListPacket.ToString());
                CurrentTimeStamp = Math.Max(TimeStamp, CurrentTimeStamp);
            }
        }