while(1) { if((newfd=accept(sockfd,(struct sockaddr *)&remote,&size)) == -1) { perror(”accept”) ; } close(newfd) ; } exit(0) ; } Utilisation et compilation Ce programme toujours à compiler de la même façon : cc -o hcb hcb.c , ouvre le port 12345 sur l’ip 127.0.0.1 (vous pouvez bien sur la changer en la remplaçant dans le source).Pour le faire fonctionner,tapez ceci : ./hcb et ensuite ouvrez une autre console (avec altf3 ou altf4) et lancez un telnet : [root@localhost /root]# telnet 127.0.0.1 12345 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is ‘^]’. Connection closed by foreign host. [root@localhost /root]# Ce phénomène est tout à fait normal, car nous avons juste définie une procédure d’ouverture à l’aide de la boucle WHILE citée ci dessus. Sans elle rien ne fonctionne ! ! Elle a pour but de dire au compilateur que tant que l’on reste connecté on laisse le port ouvert. La procédure BIND sert à initialiser l’adresse ip et ensuit e on mets le port sur écoute à l’aide de la primitive LISTEN. Pour un minimum de sécurité, errno.h possède un moyen d’empêcher un autre utilisateur d’utiliser un programme grâce à la fonction EPERM : #include void main(){ if (errno == EPERM){ fprintf(stderr, "root only. \n"); }else { fprintf(stderr, ”autorisation ok \n”) ; } }