Minh VU 69580e0575 add readme
ok
2025-02-04 16:22:41 +01:00
2025-01-28 10:07:24 +01:00
2025-02-04 16:22:41 +01:00
2019-01-21 13:19:32 +01:00
2019-01-21 13:19:32 +01:00
2019-01-21 16:17:21 +01:00
2025-02-04 16:22:41 +01:00

Rapport du TP 1

Réalisé par Thibaut Rochas et Tuan Minh VU

Le 4 février 2025

Partie I: Le classique serveur Echo

EXERCICE 1 : Version séquentielle

voir le repo XD

EXERCICE 2 : Test et capture

Echo sur client utilisant ClientHandlerBytes quand on voit le contenu du TCP, on voit tout le texte d'échange mais on voit qu'il y a un espace entre chaque 8 caractères quand on passe la taille du buffer. Et à la fin du caractère, nous pouvons voir le dernier caractère pour déterminer la fin du texte.

Follow> TCP Stream

la taille des segments TCP est cohérente avec la taille du buffer. Dans "Bonjour tout le monde !" nous avons 13 octets (comptez le dernier caractère à la fin) de texte et 64 octets pour échanger des informations pour un total de 77 octets. Dans le texte "Je teste, je suis content, je dors" nous avons 99 octets, dont 64 octets pour le protocole d'échange et l'IP, et 35 pour le texte.

Data cohérant

EXERCICE 3 : Version Multithreadée

Dans cet exercice, on réussit à créer un multi thread pour 4 personnes seulement, on teste avec le 5ème et il ne peut pas être "echo"

Partie II: Implémentation dun client HTTPping

EXERCICE 1 : Analyse du protocole HTTP

Exercice 2 : Récupération dune page avec netcat

Exercice 3, Implémentation du HTTP ping

Exercice 4 : Socket securisée

Partie III : Implémentation dun serveur HTTP simple

Utilisation

Pour utiliser ce tp vous devez :

  1. le forker via le lien fork ci-dessus.
  2. Votre repository doit être privé. Vous devez le partager avec votre encadrant de TP.
  3. vous obtiendrez un nouveau lien : par exemple git@gitlab.istic.univ-rennes1.fr:monpseudo/tp1.http.git
  4. Dans le workspace d'eclipse faites git clone git@gitlab.istic.univ-rennes1.fr:monpseudo/tp1.http.git avec l'url précédente.
  5. Ouvrez le workspace dans eclipse.
  6. Utilisez Import> "Existing Maven Projects".
  7. Selectionnez le projet et validez.

Vous devriez avoir une version du projet dans votre propre compte gitlab.

Vous pouvez le partager avec votre binome et l'encadrant de TP.

Rapport

J'ai fait ça avec Tuan Minh Vu.

Votre rapport doit être écrit ici en markdown.

Vous trouverez la syntaxe de markdown ici : https://docs.gitlab.com/ee/user/markdown.html

Placez vos images dans le répertoire images si nécessaire.

Faire des diagrammes

En particulier vous pouvez utiliser mermaid :

sequenceDiagram
    participant Alice
    participant Bob
    Alice->John: Hello John, how are you?
    loop Healthcheck
        John->John: Fight against hypochondria
    end
    Note right of John: Rational thoughts <br/>prevail...
    John-->Alice: Great!
    John->Bob: How about you?
    Bob-->John: Jolly good!

Insérer du code

Insérer du code :

public interface ClientHandler {
    public void handle();
}

et des résultats :

[yo@capybara dkgr]$ nc google.fr 80
PWET /
HTTP/1.0 400 Bad Request
Content-Type: text/html; charset=UTF-8
Referrer-Policy: no-referrer
Content-Length: 1555
Date: Mon, 21 Jan 2019 12:18:02 GMT

<!DOCTYPE html>
<html lang=en>
  <meta charset=utf-8>
Description
IPD TP1
Readme 558 KiB
Languages
Java 98%
HTML 2%