aziatedu13
Messages postés19Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention20 février 2008
-
26 sept. 2007 à 17:00
Bug_Bug
Messages postés9Date d'inscriptiondimanche 22 juillet 2007StatutMembreDernière intervention 2 octobre 2007
-
2 oct. 2007 à 14:25
bonjour,
je veux faire un truk extremement simple pour certain, mais assez très difficile pour moi..
voila je souhaiterai pouvoir afficher dans une console, une chaine de caractere envoyer par le prog serveur.
je m'explik, 2 application tourne sur le meme pc, une serveur et l'autre client.
le serveur envoie une chaine de caractere via un sockete, et le client la récupere et l'affiche.
c'est trop dur pour moi la....
aziatedu13
Messages postés19Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention20 février 2008 1 oct. 2007 à 09:30
meme avec cette ligne, le prog ne marche pas....je ne sait vraiment pas comment faire et pourquoi sa bug...
j'ai des warning comme quoi, l'argumlenet 2 de connect n'est pas compatible, alors que je met bien une adresse IP...j'ai essayer beaucoup de chose comme strcopy, ou meme sans strcopy du style adresse.adresse.sin_addr.s_addr = "192.168.1.1";
Bug_Bug
Messages postés9Date d'inscriptiondimanche 22 juillet 2007StatutMembreDernière intervention 2 octobre 2007 2 oct. 2007 à 14:25
SERVEUR:
aziatedu13 à écrit: > #define INADDR_ANY
"192.168.1.1"
C'est quoi ça ? (déjà tu l'as définie son l'utiliser dans
ton code)
Dans un serveur on n'as pas besoin de présiser l'IP car
c'est le client qui ce connecte au serveur. (C’est le client qui a besoin de
connaître l'adresse du serveur).
On utilise donc la constante INADDR_ANY comme ceci:
sin.sin_addr.s_addr
= INADDR_ANY; ou bien
sin.sin_addr.s_addr
= htonl (INADDR_ANY);
aziatedu13 à écrit: > adresse.sin_port=1234;
Non ! il faut utiliser la fonction htons (Host to Network
Short) pour transformer la valeur en "Host Byte Order", cf:
http://www.chez.com/vidalc/lf/socket.html (la partie structs),
Donc il faut faire:
adresse.sin_port = htons (1234);
Et aussi faut revoir les arguments de ton connect() (dans le
client) ; il y plein d'autres erreurs dans ton code (serveur et client). Il
n y a pas de gestion d'erreurs dans ton code pour voir d'où viens les erreurs !