problèmes avec les sockets
Bonjour à tous !!!!!!!!!!
Voila , j'ai décidé d'apprendre à utiliser les sockets et pour m'entraîner , je veux faire deux programmes (un client et un serveur) qui s'envoi chacun un "hello" qui s'affiche à l'écran . Mais j'ai quelques soucis : rien ne s'affiche.
Pourriez-vous me dire pourquoi ?
Voici le client:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| #include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int main(int argc, char *argv[])
{char buff[255] ={0};
char canal[50] = "hello" ;
WSADATA wsadata;
WSAStartup(MAKEWORD(2,0),&wsadata);
SOCKET sock;
sock = socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN sin;
sin.sin_addr.s_addr = inet_addr("127.0.0.1");
sin.sin_family = AF_INET;
sin.sin_port = htons(2007);
bind(sock,(SOCKADDR*)&sin,sizeof(sin));
connect (sock, (SOCKADDR *)&sin, sizeof(sin));
bind(sock,(SOCKADDR*)&sin,sizeof(sin));
listen(sock,10) ;
send (sock,canal,50,0);
recv (sock,buff,sizeof(buff),0);
printf("%s\n\n\n",buff);
closesocket(sock);
WSACleanup();
system("PAUSE");
return 0;
} |
Et maintenant le serveur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| #include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int main(int argc, char *argv[])
{char buff[255] ={0};
int i = 0;
WSADATA wsadata;
WSAStartup(MAKEWORD(2,0),&wsadata);
SOCKET sock;
SOCKET client;
sock = socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN sin;
SOCKADDR_IN client_sin;
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_family = AF_INET;
sin.sin_port = htons(2007);
bind(sock,(SOCKADDR*)&sin,0);
bind(client,(SOCKADDR*)&client_sin,0);
listen(sock,10);
printf("\n\tServeur en route\n");
int sinsize = sizeof(sin);
while(1)
{
client = accept(sock,(SOCKADDR*)&client_sin,&sinsize);
recv(client, buff, 255,0);
printf("%s",buff);
send(client,"hello",6,0);
}
closesocket(sock);
WSACleanup();
system("PAUSE");
return 0;
} |
Voila , j'espère que vous pourrez m'aider , merci d'avance à tous.