Programmation socket

you147 Messages postés 6 Date d'inscription dimanche 19 octobre 2008 Statut Membre Dernière intervention 27 avril 2010 - 3 mai 2009 à 02:53
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 10 mai 2009 à 15:42
salut,
j'ai un ptite application de programmation socket de chate client/ serveur sous lunix en C mais il y a un erreur je comprid pas cette erreur aidez moi svp
l'application client.c:



#include<stdio.h>
#include<stdlib.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netdb.h>
#include<string.h>
#include
#include
#include<netinet/in.h>
#include
#include<errno.h>
const int port = 7000 ;
const char * message = "bonjour" ;
int main(int argc, char ** argv)
{
        struct sockadder_in sock_host;
        int sock ;
        /* ouverture d'une sockeet*/
        sock = socket(AF_INET, SOCK_STREAM, 0);
        /* on cre l'adresse de la machine distante */
        memset(& sock_host, '\0', sizeof (sock_host)) ;
        sock_host.sin_family = AF_INET ;
        sock_host.sin_port = hotons(port) ;
        bzero(&(sock_host.sin_zero), 8) ;
        inet_aton("192.168.1.10", & sock_host.sin_addr);
        /* on demande un connection sur l'adresse distante */
        connect(sock, (struct sockaddr *) & sock_host, sizeof(sock_host)) ;
        /* on envoi le message sur le  serveur */
        write(sock, message, strlen(message)) ;
        /* on ferme la socket */
        close(sock) ;
        return 0 ;
}

l'erreur qui a afficher par le compilatuer est :

client.c: In function ‘main’:
client.c:16: error: storage size of ‘sock_host’ isn’t known
aidez moi svp c'est urgent et merci

1 réponse

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
10 mai 2009 à 15:42
Salut,

Il te dit qu'il ne connais pas la taille de sock_host que tu as déclaré comme struct sockadder_in.
Pour essayer de comprendre, il faudrait fouiner dans les headers que tu inclus pour essayer de comprendre le souci.

Mais Tu peux probablement t'en sortir en lui donnant simplement le type.
memset(& sock_host, '\0', sizeof (struct sockadder_in)) ;
0
Rejoignez-nous