public void Enqueue(NetProtocol data) { lock (_queue) { _queue.Enqueue(data); } }
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); } } }
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(); }
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()); }