Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Packet : différente structure en surchage : comment savoir laquelle a été envoyé  (Lu 2222 fois)

0 Membres et 1 Invité sur ce sujet

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Bonjour à tous et à toutes :)

J'ai une app serveur qui va retourner au client une structure de type DataUser si on réussi à l'identifier avec succès. Sinon, je veux que le serveur envoie une structure de type Data (data.dataType et data.data, c'est tout ce qu'elle contient.

Maintenant, comment savoir si le serveur a envoyé l'une ou l'autre ? Si on essaie d'extraire la struct DataUser du packet, on va avoir une erreur, car plusieurs variables seront inexistantes.

Il est bon de préciser que TOUTES les structures qui seront envoyé sur le réseau hérite de Data.

Avec ce principe, j'avais donc pensé que le serveur pourrait toujours renvoyer un DataUser avec un dataUser.dataType = ERROR ou un truc dans le genre. Il faut aussi spécifier que tous les dataType ont une macro défini autant chez le client que chez le serveur.

Par contre, je me demandais si envoyer une structure DataUser vide (tous les attributs sont initialiser à 0 ou à "" pour les string) avec seulement un dataType consommait vraiment plus sur le réseau puisqu'ils sont vide (pour les string du moins).

ps. une autre petite astuce consisterait simplement à extraire les données d'un Data, de vérifier le type de données envoyées et ensuite d'extraire les autres données...

Merci et bonne journée :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Tu mets avant les données un octet qui indique de quel type sont les données qui suivent. Tout simplement.
Laurent Gomila - SFML developer

 

anything