Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2607 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Pb bizarre sur connect

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb bizarre sur connect

n°1342910
yartempion
Posté le 10-04-2006 à 12:03:34  profilanswer
 

Salut,
j'ai un bout de code qui me  sort une erreur mais qui a l'air de fonctionner.
[

Code :
  1. #include<stdio.h>
  2. #include<unistd.h>
  3. #include<arpa/inet.h>
  4. #include<netdb.h>
  5. #include<netinet/in.h>
  6. #include<sys/types.h>
  7. #include<sys/socket.h>
  8. main(argc,argv)
  9. int argc;
  10. char** argv;
  11. {
  12.   int sock_com,nb_caract_lus;
  13.   struct sockaddr_in  adresse_distant;
  14.   char buffer[1024];
  15.   char* port="23";
  16.   memset(&adresse_distant,0,sizeof( struct sockaddr_in));
  17.   if((adresse_distant.sin_addr.s_addr=inet_addr(argv[1]))==INADDR_NONE)
  18.     {
  19.     perror ("\nErreur sur l'adresse ip" );
  20.     exit(1);
  21.     }
  22. adresse_distant.sin_family=AF_INET;
  23. adresse_distant.sin_port=htons(atoi(port));
  24. if((sock_com=socket(AF_INET,SOCK_STREAM,0))<0)
  25.    perror("\nerreur sur socket" );
  26. printf("\nNumero de socket attribuee %d\n",sock_com);
  27. printf("\nDemande de connection sur distant" );
  28. if(connect(sock_com, &adresse_distant, sizeof (struct sockaddr_in))<0)
  29.    perror("\nerreur sur connect" );
  30. printf("\nconnexion reussie" );
  31. printf("\nResultat de l'initialistion de la structure sockaddr_in" );
  32. printf("\nadresse: en hexa %08X\ten decimal pointee %s\nNumero de port en Hexa %08X\ten decimal %d",ntohl(adresse_distant.sin_addr.s_addr),inet_ntoa(adresse_distant.sin_addr),ntohs(adresse_distant.sin_port),ntohs(adresse_distant.sin_port));
  33. }


Quand je compile j'ai l'erreur :
communication1.c:30: warning: passing arg 2 of `connect' from incompatible pointer type
et quand je lance ca marche. Ou est l'erreur?

mood
Publicité
Posté le 10-04-2006 à 12:03:34  profilanswer
 

n°1342921
blackgodde​ss
vive le troll !
Posté le 10-04-2006 à 12:06:11  profilanswer
 

il manque un cast d'adresse_distant
 
regarde le prototype de connect, et regarde le type des arguments que tu lui passes

n°1342924
_darkalt3_
Proctopathe
Posté le 10-04-2006 à 12:07:09  profilanswer
 

Spoiler :

connect(sock_com, (SOCKADDR*)&adresse_distant, ...


Message édité par _darkalt3_ le 10-04-2006 à 12:07:47
n°1342939
yartempion
Posté le 10-04-2006 à 12:18:35  profilanswer
 

je lui passe bien comme 2ieme argument l'adresse d'une variable de type struct addr_in
pourquoi aurai je besoin d'un cast? je ne vois pas trop.

n°1343000
breizhbugs
Posté le 10-04-2006 à 13:42:46  profilanswer
 

Code :
  1. sock_com=socket(AF_INET,SOCK_STREAM,0)


J'ai cru voir dans un autre post que c'etait PF_INET (au lieu de AF_) à utiliser à cet endroit?

n°1343021
yartempion
Posté le 10-04-2006 à 13:55:49  profilanswer
 

Oui en effet on peut utiliser les deux mais je crois qu'il y en a un normalise pou addr_family et l'autre pour les socket amis d'apres ce que j'en ai lu c'est indifferent.
On peut vouloir respecter la norme mais je ne crois pas que cela gene le prog.

n°1343023
_darkalt3_
Proctopathe
Posté le 10-04-2006 à 13:58:14  profilanswer
 

yartempion a écrit :

On peut vouloir respecter la norme mais je ne crois pas que cela gene le prog.


 
 [:atari]  

n°1343030
yartempion
Posté le 10-04-2006 à 14:12:14  profilanswer
 

Oui tu as raison j'ai pas fait attention que je passai une struct sockaddr_in au lieu d'une sockaddr. OK merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Pb bizarre sur connect

 

Sujets relatifs
selection texte bizarreAjout bizarre d'un nombre de caractères !
Probleme tres bizarre!!!problème bizarre de décalage
[PHP] Problème bizarre avecla banniereErreur SQL SERVER : [DBNETLIB][ConnectionOpen (Connect()).]Ce serveur
Problème d'alignement avec IE (très bizarre) Code InsideGros et bizarre trou de mémoire...
[RESOLU][SH - SED] Fonctionnement très bizarrelien bizarre comme un boomerang
Plus de sujets relatifs à : Pb bizarre sur connect


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)