Пример #1
0
 public void Enqueue(NetProtocol data)
 {
     lock (_queue)
     {
         _queue.Enqueue(data);
     }
 }
Пример #2
0
        private void Update()
        {
            lock (_queue)
            {
                if (_queue.Count > 0)
                {
                    NetProtocol data = _queue.Dequeue();

                    Type type = CommandType.FindCmdType(data.Key);

                    ICommand cmd = Activator.CreateInstance(type) as ICommand;

                    cmd.ReceiveExcute(data);
                }
            }
        }
Пример #3
0
        public static byte[] PasreData(NetProtocol data)
        {
            List<byte> bs = new List<byte>();

            //1.add head
            bs.AddRange(Encoding.UTF8.GetBytes(data.Key));

            //2.add leangth
            string json = JsonConvert.SerializeObject(data.Body);

            byte[] jsData = Encoding.UTF8.GetBytes(json);

            ushort len=(ushort)jsData.Length;

            bs.AddRange(BitConverter.GetBytes(len));

            bs.AddRange(jsData);

            return bs.ToArray();
        }
Пример #4
0
        public static byte[] PasreData(NetProtocol data)
        {
            List <byte> bs = new List <byte>();

            //1.add head
            bs.AddRange(Encoding.UTF8.GetBytes(data.Key));

            //2.add leangth
            string json = JsonConvert.SerializeObject(data.Body);

            byte[] jsData = Encoding.UTF8.GetBytes(json);

            ushort len = (ushort)jsData.Length;

            bs.AddRange(BitConverter.GetBytes(len));

            bs.AddRange(jsData);

            return(bs.ToArray());
        }