FArchive can't read data

Hello,

I have a simple socket
code:
ReceivedData.SetNumUninitialized(Header.DataSize);
Read = 0;
ConnectionSocket->Recv(ReceivedData.GetData(), ReceivedData.Num(), Read);

			FMemoryReader FromBinary = FMemoryReader(ReceivedData, true); //true, free data after done
			FromBinary.Seek(0);

FServerToUnrealProjectiles PacketProjectiles;
				PacketProjectiles.SaveLoad(FromBinary);

And this is the structure
struct FServerToUnrealProjectiles
{
int32_t ProjectilesNum;
FServerToUnrealProjectile* Projectiles;

	void SaveLoad(FArchive& Ar)
	{
		Ar << ProjectilesNum;
		Projectiles = new FServerToUnrealProjectile[ProjectilesNum];
		for (int32 i = 0; i < ProjectilesNum; ++i)
		{
			float time = 0;
			Ar << time;
			Projectiles[i].time = time;

//			Ar << Projectiles[i].time;
			Ar << Projectiles[i].WeaponID;
			Ar << Projectiles[i].ProjectileID;
			Ar << Projectiles[i].ShotID;
			Ar << Projectiles[i].pos_offset;
			Ar << Projectiles[i].pos_height;
			Ar << Projectiles[i].pos_distance;
		}
	}
};

Problem is I can’t load correct array in structure, it loads wrong data but I checked the data inside the archive - it is the same I send. How can I get this data?

sorry, it was my problem, received data was not correct, but the same as was send)