Ajouter 'tcp puit'

This commit is contained in:
Abderrahman El-Ouali 2023-02-07 15:12:34 +01:00
parent f0b339953d
commit 9fc81cedc0

48
tcp puit Normal file
View file

@ -0,0 +1,48 @@
//---------PUITS---------//
else{
printf("on est dans le puits\n");
printf("nb de tampons à recevoir = infini\n");
//création du socket
if((sock=socket(AF_INET, SOCK_STREAM,0)) == -1) {
printf("echec de la creation du socket\n");
exit(1);
}
//construction de l'@ du socket
memset((char*)&adr_local, 0, sizeof(adr_local));
adr_local.sin_family=AF_INET;
adr_local.sin_port=port;
adr_local.sin_addr.s_addr=INADDR_ANY;
//bind
if (bind(sock,(struct sockaddr*)&adr_local, lg_adr_local) == -1) {
printf("echec du bind\n");
exit(1);
}
//dimensionnement de la file de demandes de connexion
if (listen(sock, nb_max_connexion) == -1) {
printf("echec du listen\n");
exit(1);
}
//acceptation d'une demande de connexion
if((sock_bis=accept(sock,(struct sockaddr *)&adr_em, &lg_adr_em)) == -1) {
printf("echec du accept\n");
exit(1);
}
//reception
while ((lg_mesg=recv(sock_bis, pmesg, lg_max, 0))>0){
afficher_message(pmesg, lg_mesg);
//sleep(1);
}
//fermeture
if (close(sock)==-1) {
printf("echec de destruction du socket\n");
exit(1);
}
}