Vous êtes sur la page 1sur 4

Université de Monastir A.U.

: 2023-2024
Faculté des Sciences de Monastir Développement d’application
Département des Sciences de l'Informatique réparties

TP n°2: Les datagrammes UDP

Objectifs du TP :
Ce TP a pour objectif de manipuler la communication client/serveur via les sockets UDP avec java.

Rappel :

Les sockets UDP (User Datagram Protocol) sont un mécanisme de communication réseau basé sur le
protocole UDP. Contrairement au protocole TCP (Transmission Control Protocol), qui est orienté
connexion et offre une communication fiable et ordonnée, UDP est un protocole de couche transport léger
qui offre une communication non fiable et non ordonnée.

Avantages :

 Transmission non bloquante : UDP permet d'envoyer des datagrammes sans établir de connexion
préalable, ce qui le rend approprié pour les applications qui nécessitent une communication non
bloquante.
 Diffusion de données en masse : UDP est souvent utilisé pour la diffusion de données à plusieurs
destinataires, car il ne nécessite pas de connexion distincte pour chaque destinataire.

Inconvénients :

 Communication non fiable : UDP ne garantit pas la livraison des données ni l'ordre de réception.
Les paquets UDP peuvent être perdus, dupliqués ou arriver dans le désordre.
 Nécessite une gestion personnalisée des erreurs : Étant donné son manque de fiabilité,
l'application doit mettre en place sa propre gestion des erreurs, y compris la détection et la
correction d'erreurs, si nécessaire.

Voici un aperçu sur la création et l'utilisation des sockets UDP en Java :

• Importation des classes nécessaires : Pour travailler avec des sockets UDP en Java, vous devez
importer les classes appropriées. Vous aurez besoin des classes DatagramSocket pour la création
de sockets et DatagramPacket pour l'encapsulation des données à envoyer et recevoir.
• Envoi de données : Pour envoyer des données via un socket UDP, vous encapsulez les données
dans un objet DatagramPacket et utilisez la méthode send() du socket pour les envoyer à une
adresse IP et un port spécifiques.
• Réception de données : Pour recevoir des données via un socket UDP, vous créez un objet
DatagramPacket pour stocker les données entrantes et utilisez la méthode receive() du socket pour
recevoir les données.
1
• Fermeture du socket : Une fois que vous avez terminé d'utiliser le socket UDP, assurez-vous de le
fermer pour libérer les ressources.

Exercice 1:

L’exercice a pour but de développer un serveur UDP qui écoute sur le port 1234 et qui accepte des
connexions clientes. Le programme client se connecte au serveur, puis lui envoie un message. Le message
est affiché par le serveur.

L’exemple suivant montre deux classes :

• L’un du coté serveur : Server

• L’autre du coté client : Client

Coté Serveur :

2
Coté Client :

Exercice 2 : Créer une application de chat Client/Serveur


On souhaite échanger entre le client/serveur des messages via les sockets. Ecrire la partie client et la partie
serveur.

3
4

Vous aimerez peut-être aussi