dudul51 | Voilà, étant grand débutant je veux réaliser un client/serveur UDP. Le client envoie des chaînes de caractères que le serveur affiche sur son terminal de contrôle (les 2 programmes tournent sur la même machine). Voilà le code que j'ai tapé pour le client :
Code :
- main()
- {
- int sock;
- struct sockaddr_in emet,dest;
- char buf[]="bonjour";
- char rep[1500];
- sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
-
- emet.sin_family=AF_INET;
- emet.sin_port=htons(1500);
- emet.sin_addr.s_addr=INADDR_ANY;
- bind(sock,(struct sockaddr*)&emet,sizeof(emet));
- sendto(sock,buf,sizeof(buf),0,(struct sockaddr*)&dest,sizeof(dest));
- recvfrom(sock,(char*)rep,sizeof(rep),0,(struct sockaddr*)&dest,sizeof(dest));
- for (int i=0;i<20;i++)
- printf("%x",rep[i]);
- close(sock);
- }
|
et pour le serveur :
Code :
- main()
- {
- int sock;
- struct sockaddr_in emet,dest;
- char buf[]="bonjour";
- char rep[1500];
- sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
-
- emet.sin_family=AF_INET;
- emet.sin_port=htons(1500);
- emet.sin_addr.s_addr=INADDR_ANY;
- bind(sock,(struct sockaddr*)&emet,sizeof(emet));
- recvfrom(sock,(char*)rep,sizeof(rep),0,(struct sockaddr*) &dest,sizeof(dest));
- for (int i=0;i<20;i++)
- printf("%x",rep[i]);
-
- sendto(sock,buf,sizeof(buf),0,(struct sockaddr*)&dest,sizeof(dest));
- close(sock);
- }
|
Avec ce code, et en lançant le serveur puis le client, le client envoie son message mais le serveur ne reçoit rien et bloque sur recvform(...).
Quelqu'un pourrait m'aider svp? |