Bonjour ,
Je debute en C et avec les sockets . J'ai fais une petite application client/serveur qui s'envoie juste du texte , mais sa ne marche pas .
le code :
le client :
le serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int sock; sock = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in to; to.sin_family = AF_INET; to.sin_port = htons(8000); to.sin_addr.s_addr = inet_addr("127.0.0.1"); if ( connect(sock,(struct sockaddr*)&to, sizeof(to)) != -1 ) { char nameFile[50]; test = recv(sock, nameFile, sizeof(nameFile),0); printf("namefile : %d, %s\n",strlen(nameFile),nameFile); }
Le probleme , et que la variable "nameFile" dans la client ne vaus rien .
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 int sock; sock = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = htons(8000); addr.sin_addr.s_addr = INADDR_ANY; if ( (bind(sock,(struct sockaddr *)&addr, sizeof(struct sockaddr))) != -1 ) { listen(sock, 50); int sock2; struct sockaddr_in from; socklen_t fromlen; sock2 = accept(sock,(struct sockaddr *)&from, &fromlen); char nameFile[] = "test.jpg"; send(sock2,nameFile,sizeof(nameFile),0); }
Si vous pourriez m'expliquer la raisons .. .
Merci ++
Partager