Problème de transmission d'entier d'un client à un serveur
cs_lillie69
Messages postés18Date d'inscriptionlundi 27 mars 2006StatutMembreDernière intervention 6 mai 2006
-
4 mai 2006 à 17:27
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 2012
-
5 mai 2006 à 13:17
Bonjour,
nous devons faire une bataille navale en réseau et nous avons un problème de transmission d'entiers.
En fait on envoit des valeurs correctes à notre client mais celui-ci
recoit n'importe quoi, et nous ne comprenons pas d'ou vient l'erreur:
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 20123 5 mai 2006 à 13:17
Salut :)
Le client est-il sous Win32?
Parce que... Dans la structure CLIENT: Le descripteur de socket n'est
un int que sous UNIX. Sous windows c'est un descripteur SOCKET.
Deux observations sur la toute dernière fonction, reception_entier()
* Elle fait appel à ntohl() or ntohl() ne prend en argument un
uint32_t que sous UNIX (défini dans netinet/in.h); et sous win32 cette
fonction prend en argument une struct sock_addr_in. Donc #ifdef WIN32
...
* la fonction read() utilisée juste au dessus ne prend théoriquement pas de uint32 en argument. Fais un man read dans la console pour voir.