Bonjour,

dans le cadre d'un cours je dois développer une application client serveur basique avec des sockets. La communication est censée s'effectuer entre deux machines différentes mais travaillant chez moi j'essaye de tester en faisant communiquer deux ports de ma propre machine. Et la primitive connect() me renvoie -1...

Voici la partie du code avec l'initialisation du bazar:

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
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
/*WARNING: verifier cette option*/
hints.ai_flags = AI_PASSIVE;
hints.ai_protocol = 0;
rv = getaddrinfo(NULL, "3000", &hints, &svinfo);
printf("%i\n",rv);
 
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;
hints.ai_protocol = 0;
status = getaddrinfo(NULL,"3001",&hints,&res);
printf("%i\n",status);
 
sockfd = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
bind(sockfd, res->ai_addr,res->ai_addrlen);
 
 int con;
con=connect(sockfd,svinfo->ai_addr,svinfo->ai_addrlen);
printf("%i\n",con);
Merci de votre aide.

Cordialement