J'écris un jeu multiplateforme avec des capacités de réseautage (en utilisant SFML et RakNet) et j'en suis arrivé au point où j'ai compilé le serveur sur mon serveur Ubuntu et ai obtenu un client sur mon Mac. Tout le développement est fait sur mon Mac donc j'ai d'abord testé le serveur là-dessus, et ça a bien fonctionné.Création et utilisation d'une structure multiplateforme en C++
J'envoie struct
s sur le réseau, puis je les renvoie simplement de char *
à (par exemple) inet::PlayerAdded
. Maintenant, cela fonctionne très bien (pour la plupart), mais ma question est: Est-ce que cela fonctionnera toujours? Cela semble être une approche très fragile. La structure sera-t-elle toujours la même, même sur d'autres plateformes, Windows par exemple? Que recommanderais-tu?
#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)
Pour le downvoter série, une raison particulière? (La downvote de Steve semble particulièrement flagrante) – KevinDTimm
Les points n'ont aucun sens dans un endroit comme celui-ci. Je ne m'inquiéterais pas pour ça. –
Je ne me soucie pas des points, je veux savoir pourquoi chaque réponse (sauf une, la moins utile de toutes) a obtenu un downvote. Surtout quand l'une des réponses (downvoted) était clairement la meilleure. – KevinDTimm