Forum de la communauté SFML

Aide => Réseau => Discussion démarrée par: Blenderiste09 le Octobre 02, 2019, 10:11:54 pm

Titre: [Résolu] Entiers à taille fixe
Posté par: Blenderiste09 le Octobre 02, 2019, 10:11:54 pm
Bonjour à tous,
Je suis en train de faire un système de serveur-client pour Portal 2 en modifiant un plugin existant (https://github.com/NeKzor/SourceAutoRecord).
Le problème est que je sois envoyer un ID depuis le serveur vers les clients, j'utilise donc sf::Uint32 et je le stocke dans l'ID d'une entité. Le soucis, c'est que j'aimerais éviter de modifier cette entité en définissant l'ID comme étant un sf::Uint32. J'aurais voulu le laisser comme un unsigned int.

Ma question est donc : Puis-je convertir un sf::Uint32 en (unsigned) int sans problème (du genre : int a = sf::Uint32(42)) vu que ce ne sont que des typedefs ou est-ce que je dois effectuer d'autres opérations avant ?

Également, en cherchant une réponse sur ce forum, je suis tombé sur ce thread : https://fr.sfml-dev.org/forums/index.php?topic=20843.msg149420#msg149420

Du coup, est-ce que je devrais utiliser int32_t ou sf::Uint32 de préférence pour les envois par réseau ?


Merci d'avance :)
Titre: Re: Entiers à taille fixe
Posté par: Laurent le Octobre 03, 2019, 07:53:12 am
Citer
Puis-je convertir un sf::Uint32 en (unsigned) int sans problème (du genre : int a = sf::Uint32(42))
Bien sûr, tant que la valeur tient dans la plage du type de destination (ce qui devrait être le cas ici).

Citer
ou est-ce que je dois effectuer d'autres opérations avant ?
Je me demande bien à quelles autres opérations tu pensais, du coup :P

Citer
Du coup, est-ce que je devrais utiliser int32_t ou sf::Uint32 de préférence pour les envois par réseau ?
N'importe lequel (c'est pareil), mais l'un des deux, oui, comme indiqué dans le tutoriel correspondant.
Titre: Re: Entiers à taille fixe
Posté par: Blenderiste09 le Octobre 03, 2019, 11:40:19 am
Salut !
Merci pour tes réponses  :)
Je me demande bien à quelles autres opérations tu pensais, du coup :P

Eh bien, je ne savais pas non plus :P . Je voulais juste être sûr de ne pas faire de bêtise, histoire de ne pas faire crasher les autres joueurs par ma faute ^^

Merci encore !