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
| void client(paramClient *mesparams)
{
WSADATA wsa; //On est sous win, donc fo initialiser les wsa(pas la peine de savoir ce que c'est)
WSAStartup(MAKEWORD(2,0),&wsa); //on les initialise ici
SOCKET sock; //Et voila notre socket !(ce n'est rien d'autre qu'une var int)
SOCKADDR_IN sin;//Structure ds laquelle on va stocker les parametres du socket
system("TITLE TCP Connection Maker (Version client)");
//l'ip et le port quoi...
char ip[15] = {"192.168.1.3"};
int port;
port = 25000;
sin.sin_family=AF_INET; //Ici, on dit qu'on veut un socket pour le net(me demandez pas a koi sa sert...)
sin.sin_addr.s_addr=inet_addr(ip);//sin.sin_addr.s_addr est l'addresse de la variable contenue dans
//la structure ou l'on stocke l'addr ip, inet_addr(char *ip) convertit la chaine ip en nombres
sin.sin_port=htons(port);//sin.sin_port >> pareil ke pour l'ip
//htons() convertit le port en un nombre utilisable par win
//La structure sin est remplie, on peut commencer a utiliser le socket
sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);//On crée le socket ou du moins on l'initialise
//AF_INET >> tjs pour le net, SOCK_STREAM >> pour utiliser le protocole TCP
bind(sock,(SOCKADDR*)&sin,sizeof(sin));//On lie le socket à la structure sin pour définir ses parametres
//(SOCKADDR*)&sin >> sert à convertir la structure SOCKADDR_IN en SOCKADDR
if (connect(sock,(SOCKADDR*)&sin,sizeof(sin)))//essaie de se connecter, connect ressemble étrangement à bind
{
printf("La connection a echoue\n");//connect à renvoyé true, la connection à échoué
system("PAUSE");//pour que l'user voie que sa a échoué avant que le programe ne ferme
exit(0);//fin du prog
}
mesparams->socks=sock;
} |
Partager