Mardi 28 février 2006 |
mon_wget
qui prend en argument un
nom de machine <machine>, un numéro de port <port>, un chemin d'accès
<path> et qui affiche, sur la sortie standard, le résultat de la
requête HTTP vers
l'url «http://
<machine>:
<port>/
<path>».
On rappelle que le format d'une requête HTTP/1.0 est
«GET
/<path> HTTP/1.0\r\n\r\n
».telnet localhost
p.setsockopt
avec l'option SO_REUSEADDR
.setsockopt_float
avec
les options SO_SNDTIMEO
et SO_RCVTIMEO
avec une valeur de 10 secondes.
Toutefois, il faut savoir que ces options peuvent, sur certaines
implémentations, ne pas être modifiables (mais seulement
consultables). On devra donc ignorer une erreur éventuelle lors de
l'affectation de ces options.
mon_netcat
qui prend en argument
un nom de machine m, un numéro de port p et qui se connecte sur
le port p de la machine m, puis recopie tout ce qui est lu sur
l'entrée standard sur la connexion et tout ce qui est lu sur la
connexion sur sa sortie standard. La commande termine lorsque la
connexion est fermée. Pour cet exercice, on utilisera un seul
processus et la fonction Unix.select
.inetd
qui prend en argument une liste de
couples de la forme (<port>, <cmd_argv>) et qui attend les
connexions TCP sur n'importe lequel des ports de la liste.
À chaque connexion provenant de l'extérieur sur l'un de ces ports,
la fonction accepte la connexion puis exécute, dans un nouveau processus,
la commande qui lui est associée en redirigeant l'entrée
standard, la sortie standard et la sortie d'erreur vers la connexion.This document was translated from LATEX by HEVEA and HACHA.