Escribo un juego de plataforma cruzada con capacidades de red (usando SFML y RakNet) y he llegado al punto en que he compilado el servidor en mi servidor Ubuntu y tengo un cliente en funcionamiento en mi Mac. Todo el desarrollo se realiza en mi Mac, así que al principio he estado probando el servidor y funcionó bien.Creando y usando una estructura multiplataforma en C++
Estoy enviando struct
s a través de la red y luego simplemente devolviéndolos desde char *
a (por ejemplo) inet::PlayerAdded
. Ahora esto ha estado funcionando bien (en su mayor parte), pero mi pregunta es: ¿Esto siempre funcionará? Parece un enfoque muy frágil. ¿La estructura siempre se distribuirá igual incluso en otras plataformas, Windows, por ejemplo? ¿Qué recomendarías?
#pragma pack(push, 1)
struct Player
{
int dir[2];
int left;
float depth;
float elevation;
float velocity[2];
char character[50];
char username[50];
};
// I have been added to the game and my ID is back
struct PlayerAdded: Packet
{
id_type id;
Player player;
};
#pragma pack(pop)
Para el downvoter serie, ¿alguna razón en particular? (El voto a favor de Steve parece particularmente atroz) – KevinDTimm
Los puntos no tienen sentido en un lugar como este. Yo no me preocuparía por eso. –
No me interesan los puntos, quiero saber por qué cada respuesta (excepto una, la menos útil de todas) obtuvo un voto negativo. Especialmente cuando una de las respuestas (downvoted) era claramente mejor. – KevinDTimm