1. Client/Serveur UDP et TCP
Le client envoie des chaînes de caractères que le
serveur affichera sur son terminal.
caractères, puis de fichiers). On vérifiera notamment,
pour les chaînes de caractères, que le nombre de
connexions simultanées
est limité par le paramètre de la fonction "listen". Vérifier les sockets
avec la commandes "netstat"
(port, processus attaché, état TCP, etc).
2. Dialogue avec un serveur existant
Pour le protocole HTTP, vous n'utiliserez que la commande "GET" sachant que le numéro de
port est le 80. Le port utilisé par SMTP est le 25.
La spécification complète des protocoles HTTP et SMTP se
trouve dans les RFC (Request For Comments) 2068 (HTTP)
et 821 (SMTP). Ces RFC sont disponibles à l'adresse suivante
: http://ietf.org/rfc.html
La commande "telnet m p"
établie une connexion TCP sur le port p de la machine m
permettant alors de tester ces protocoles.
Fonctions utiles
in_addr_t inet_addr(const char *cp);
Transforme l'adresse IP donnée au format "a.b.c.d" en une structure
in_addr.
int inet_aton(const char *cp, struct in_addr in);
Transforme l'adresse IP donnée au format "a.b.c.d" en un entier long non
signé.
char * inet_ntoa(struct in_addr in);
Transforme une adresse IP du format struct in_addr au format "a.b.c.d".
Pour plus d'informations sur ces fonctions et les sockets en
général, voir sur : clarinet.u-strasbg.fr\~merindol.
Pour plus de détails sur l'ensemble des TP, voir sur : www.3d-reconstruction.org.