Premier programme avec les sockets TCP : version C

  1. Copier puis tester le code des parties client et serveur de l'exemple du cours sur les sockets TCP.

    Comme pour le TP 1 sur UDP, réaliser ces 2 programmes afin de pouvoir préciser le nom en paramètre du lancement des programmes. Le serveur et le client devront pouvoir être lancés comme suit :

    $ serveur port_local_ecoute
    $ client nom_serveur port_serveur

  2. Définir une fonction à la signature suivante pour créer les sockets TCP :

    int creerSocketTCP(int port)

    Cette fonction crée une socket TCP et la lie (via un bind) au port précisé en paramètre. Si on ne veut pas la lier à un port précis mais laisser le système le déterminer, on passera la valeur 0 en paramètre. La valeur retournée est le descripteur de la socket ou -1 en cas d'erreur.
    Placer cette fonction dans un fichier à part (le même que celui contenant la fonction de création de socket UDP du TP 1) et modifier vos 2 programmes pour l'utiliser.
  3. Réaliser un transfert de fichier du client vers le serveur.

Premier programme avec les sockets TCP : version Java

Copier puis tester le code des parties client et serveur de l'exemple du cours sur les sockets TCP. Rajouter pour cela notamment la gestion des exceptions qui n'était pas présente.

Modifier le code pour, comme pour la partie C, ne plus avoir à préciser le nom et le port du serveur en dur dans le code. Le serveur et le client devront pouvoir être lancés comme suit :

$ java Serveur port_local_ecoute
$ java Client nom_serveur port_serveur