//---------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); } }