public static byte[] Encode(PacketType type, byte[] data) { short len = (short)(data.Length + 2); byte[] buffer = new byte[len]; buffer[0] = type.ID1(); buffer[1] = type.ID2(); //fill in the data Array.Copy(data, 0, buffer, 2, data.Length); return(buffer); }
public void Inject(PacketType t, byte[] dataPacket, int sockId) { short len = (short)(dataPacket.Length + 7); //get buffer to copy in the final byte array byte[] buffer = new byte[len]; buffer[0] = 2; buffer[1] = 0; buffer[2] = (byte)(len >> 0); buffer[3] = (byte)(len >> 8); buffer[4] = 1; buffer[5] = t.ID1(); buffer[6] = t.ID2(); //fill in the data Array.Copy(dataPacket, 0, buffer, 7, dataPacket.Length); GeneralHelper.XorPacket(buffer); Inject(buffer, sockId); }