static ClientRequestPacket GetRequestPacketFromBytes(byte[] buffer) { ClientRequestPacket packet = new ClientRequestPacket(); int size = Marshal.SizeOf(packet); IntPtr ptr = Marshal.AllocHGlobal(size); Marshal.Copy(buffer, 0, ptr, size); packet = (ClientRequestPacket)Marshal.PtrToStructure(ptr, packet.GetType()); Marshal.FreeHGlobal(ptr); return(packet); }