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 :
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 serveur :
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);
	}
Le probleme , et que la variable "nameFile" dans la client ne vaus rien .
Si vous pourriez m'expliquer la raisons .. .
Merci ++