public void SendPacket(OutgoingPacket packet) { if (!_socket.Connected) { return; } MemoryStream ms = new MemoryStream(); using (PacketOutput output = new PacketOutput(ms)) { output.Write(0); output.Write(packet.GetPacketType().ToId()); packet.Write(output); } byte[] buffer = ms.ToArray(); _outgoingEncryption.Cipher(buffer, 5); int size = buffer.Length; byte[] a = BitConverter.GetBytes(IPAddress.NetworkToHostOrder(size)); buffer[0] = a[0]; buffer[1] = a[1]; buffer[2] = a[2]; buffer[3] = a[3]; _socket?.Send(buffer); }