Ce projet implémente un système de chat utilisant le protocole UDP (User Datagram Protocol) pour la communication sans connexion.
ServeurUDP.java: Serveur UDP qui utilise les ports 9876 (réception) et 9877 (envoi)ClientUDP.java: Client UDP qui utilise les ports 9876 (envoi) et 9877 (réception)
- Crée un socket UDP sur le port 9876 pour recevoir
- Crée des paquets de datagramme pour la réception
- Reçoit et lit les messages du client
- Demande à l'utilisateur (serveur) d'entrer une réponse
- Crée un paquet de datagramme et envoie la réponse au port 9877
- Répète les étapes 3-5 jusqu'à recevoir "bye" ou "end"
- Ferme le socket
- Crée un socket UDP sur le port 9877 pour recevoir
- Demande à l'utilisateur d'entrer un message
- Crée un paquet de datagramme avec le message
- Envoie le paquet au serveur (port 9876)
- Reçoit la réponse du serveur
- Affiche la réponse
- Répète les étapes 2-6 jusqu'à envoyer "bye" ou "end"
- Ferme le socket
- UDP : Protocole sans connexion, plus rapide mais moins fiable
- TCP : Protocole avec connexion, plus fiable mais plus lent
- UDP n'établit pas de connexion préalable
- UDP utilise des datagrammes au lieu de flux
cd exo4
javac ServeurUDP.java ClientUDP.javajava ServeurUDPjava ClientUDPTerminal Serveur :
Serveur UDP démarré
Port de réception (client): 9876
Port d'envoi (serveur): 9877
En attente de messages...
Client: Bonjour serveur UDP !
Serveur: Salut client ! Comment ça va ?
Client: Très bien merci !
Serveur: Super ! Que puis-je faire pour toi ?
Client: bye
Client a terminé la conversation.
Serveur UDP arrêté.
Terminal Client :
Client UDP démarré
Connexion au serveur localhost
Port d'envoi (client): 9876
Port de réception (serveur): 9877
Début de la conversation (tapez 'bye' ou 'end' pour terminer)
Client: Bonjour serveur UDP !
Serveur: Salut client ! Comment ça va ?
Client: Très bien merci !
Serveur: Super ! Que puis-je faire pour toi ?
Client: bye
Conversation terminée par le client.
Client UDP arrêté.
- UDP ne garantit pas la livraison des paquets
- Les paquets peuvent arriver dans le désordre
- Pas de connexion établie (pas de handshake comme TCP)
- Plus rapide que TCP mais moins fiable
- Le serveur doit être démarré avant le client
- Tapez "bye" ou "end" pour terminer la conversation