IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Problème de compilation de socket


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 91
    Par défaut Problème de compilation de socket
    Bonjour, j'ai le probleme suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netdb.h>
     
     
     
    int main(int argc, char *argv[])
     
    {
    	int s, teste,n;
    	char buffer[1024];
    	struct addrinfos mask, *res, *r;
     
    	printf("Cette machine est le Serveur TCP\n\n");
    	printf("Elle recoit les packets\n\n");
     
    	memset(&mask, 0, sizeof(mask));
     
     
    	mask.ai_family=PF_UNSPEC;
    	mask.ai_socktype=SOCK_STREAM;
     
    	//getaddrinfo("www.kame.net", "http", &hints, &res0);
     
    	if ((getaddrinfo(argv[1], argv[2],&mask,&res))!=0)
    	{
    		 errx(1, "%s", gai_strerror(1));
     
    	}
     
    	r=res;
     
    	while(r!=NULL)
    		{      
    			 s = socket(res->ai_family, res->ai_socktype,res->ai_protocol);
    			 teste = connect(s, res->ai_addr, res->ai_addrlen);
     
    			if(teste==-1)
    				{
    					close(s);}
     
    			else {break;}
     
    			r=r->ai_next;
     
     
     
    		}
     
    	if(r==NULL)
    		{
    			printf(stderr,"connection impossible sur %s\n",argv[1]);
    			exit(1);
    			}
     
    	freeaddrinfo(res);
     
     
    	while((n=read(0,buffer,1024))>0)
     
    		{
    			write(s,buffer,n);
    			read(s,buffer,n);
    			write(1,buffer,n);
     
     
    			}
     
     
     
     
    }

    resultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    main_tcp.c: In function ‘main’:
    main_tcp.c:15: erreur: storage size of ‘mask’ isn’t known
    main_tcp.c:28: attention : passing argument 4 of ‘getaddrinfo’ from incompatible pointer type
    main_tcp.c:38: erreur: déréférencement d'un pointeur de type incomplet
    main_tcp.c:38: erreur: déréférencement d'un pointeur de type incomplet
    main_tcp.c:38: erreur: déréférencement d'un pointeur de type incomplet
    main_tcp.c:39: erreur: déréférencement d'un pointeur de type incomplet
    main_tcp.c:39: erreur: déréférencement d'un pointeur de type incomplet
    main_tcp.c:47: erreur: déréférencement d'un pointeur de type incomplet
    main_tcp.c:55: attention : passing argument 1 of ‘printf’ from incompatible pointer type
    main_tcp.c:59: attention : passing argument 1 of ‘freeaddrinfo’ from incompatible pointer type

    le sais pas ou est le pb.. merci

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Pourtant, ton compilo t'indique clairement qu'elles sont les erreurs et où elles sont situées !

    addrinfos n'existe pas, c'est plutôt addrinfo
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par mansour67 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	struct addrinfos mask, *res, *r;
    struct addrinfos n'existe pas. C'est probablement addrinfo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	addrinfo mask, *res, *r;
    Arf, grillaid !

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 91
    Par défaut
    Je vous remercie bien.. j'ai mal ecris addrinfo.. c la cause des erreurs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de compilation (socket)
    Par riadh8 dans le forum C++
    Réponses: 3
    Dernier message: 14/12/2008, 15h12
  2. [débutant] Sockets: Problème de compilation
    Par wetneb dans le forum Réseau
    Réponses: 4
    Dernier message: 25/06/2006, 11h28
  3. problème de compil devc++ socket
    Par stefdem dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2003, 11h33
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo