public static byte[] Encode(int type, byte[] data) { var length = 8 + data.Length; var packet = new byte[length]; var uniLength = new Union32() { intdata = length }; var uniType = new Union32() { intdata = type }; uniLength.ToBytes(packet, 0); uniType.ToBytes(packet, 4); Array.Copy(data, 0, packet, 8, data.Length); return packet; }
public void Request(Packet packet) { var type = new Union32(){ intdata = (int) packet.type }; var typeBytes = new byte[4]; type.ToBytes(typeBytes, 0); _stream.Write(typeBytes, 0, typeBytes.Length); _stream.Write(packet.payload, 0, packet.payload.Length); _stream.Flush(); }