:: Enseignements :: Master :: M1 :: 2013-2014 :: Programmation d'applications réseaux ::
[LOGO]

Proxy TCP et gestion du protocole HTTP


Exercice 1 - Proxy TCP vers une adresse fixe

On souhaite écrire un proxy TCPProxySimple vers une adresse fixe. Le proxy prendra en argument son numéro de port, puis l'adresse et le port du serveur vers lequel on relaie les connexions et enfin le nombre de threads à lancer. Par exemple, on pourra le lancer avec la ligne de commande suivante:
% java fr.upem.tcp.TCPProxySimple 7777 localhost 8888 25
Le principe du proxy est de relayer toutes les connexions faites sur le port 7777 vers l'adresse du serveur cible (dans notre cas localhost:8888). Pour fixer les choses, on appellera client la machine se connectant sur le port 7777 du proxy et serveur la machine dont l'adresse est passée en argument.

Vous pouvez partir de l'architecture d'un serveur basé sur l'idée de launchConcurrentFixedPrestartedPool() du TD précédent. Ce serveur doit implémenter une fonction shutdown(). En concurrence de son service, le main lance un thread lisant des commandes au clavier. Seule la commande Shutdown est supportée, qui arrête tout le serveur en appelant shutdown().

Exercice 2 - Client HTTP de base

Écrire un petit client HTTP qui sait, lorsqu'on lui fournit une URL, se connecter au serveur qui la détient et récupérer la ressource correspondante.