Sto scrivendo un gioco multipiattaforma con funzionalità di rete (utilizzando SFML e RakNet) e sono arrivato al punto in cui ho compilato il server sul mio server Ubuntu e ho avviato un client sul mio Mac. Tutto lo sviluppo è fatto sul mio Mac, quindi inizialmente ho testato il server su questo, e ha funzionato bene.Creazione e utilizzo di una struttura multipiattaforma in C++
Sto inviando struct
s in rete e quindi semplicemente li restituisco da char *
a (ad esempio) inet::PlayerAdded
. Ora questo ha funzionato bene (per la maggior parte), ma la mia domanda è: funzionerà sempre? Sembra un approccio molto fragile. La struttura sarà sempre la stessa anche su altre piattaforme, Windows, ad esempio? Cosa raccomanderesti?
#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)
Per il downvoter seriale, qualche motivo particolare? (Il downvote di Steve sembra particolarmente eclatante) – KevinDTimm
I punti non hanno senso in un posto come questo. Non me ne preoccuperei. –
Non mi importa dei punti, voglio sapere perché ogni risposta (tranne una, la meno utile di tutte) ha avuto un downvote. Soprattutto quando una delle risposte (downvoted) era chiaramente migliore. – KevinDTimm