Documente Academic
Documente Profesional
Documente Cultură
Communication Client/Serveur
Les Sockets
Abdallah GHOURABI
gh.abdallah@gmail.com
3
Techniques de communication dans un
modèle Client/Serveur
4
Problématique
Réaliser un service réparti en utilisant les protocoles de
transport (TCP, UDP)
Mise en œuvre
Bas niveau
Utilisation directe de la couche transport
Sockets : mécanisme universel de bas niveau, utilisable depuis
tout langage (exemple : C, Java)
Haut niveau
Utiliser les services offerts par les middlewares (logiciels
médiateurs)
Appel de procédure à distance (RPC), dans un langage particulier ;
exemple : C
Appel de méthode à distance, dans les langages à objets ;
exemple : Java RMI
Identification d’un service
5
9
Les 7 couches du modèle OSI
10
TCP
Mode connecté : protocole de prise de connexion (lent)
Sans perte : un message arrive au moins un fois
Sans duplication : un message arrive au plus une fois
Avec fragmentation : les messages peuvent être coupés
Ordre respecté : messages délivrés dans l’ordre d’émission
Exemple : une communication de type téléphone
UDP
Mode non connecté : pas de protocole de connexion (plus rapide)
Avec perte : l’émetteur n’est pas assuré de la délivrance
Avec duplication : un message peut arriver plus d’une fois
Sans fragmentation : les messages envoyés ne sont jamais coupés
Ordre non respecté : messages délivrés dans l’ordre d’arrivé
Exemple : une communication de type courrier
Les Sockets Java
13
Les Sockets en Java
14
Class DatagramPacket
Constructeur :
DatagramPacket(byte[] buf, int length, InetAddress address, int port) :
création d’un paquet à destination d’une machine et d’un port spécifiés
Syntaxe Java
18
196.203.79.184 = www.essths.rnu.tn
Exp2
InetAddress b = InetAddress.getByAddress(new byte[] {8,8,8,8});
System.out.println(b.getHostAddress()+" = "+b.getHostName());
8.8.8.8 = google-public-dns-a.google.com