Module M2207 – part. 3
Programmation réseau
IUT de Béziers, dépt. R&T © 2009-2017
http://www.borelly.net/
Christophe.BORELL[email protected]
16/05/17 M2207 - cb@iutbeziers.fr 2/15
Partie Réseau
Paquetages : java.net.* (et java.io.*)
TCP : classes Socket et ServeurSocket
UDP : classes DatagramPacket et DatagramSocket
Multicast : DatagramPacket et MulticastSocket
SSL/TLS : javax.net.*, javax.net.ssl.*, ...
16/05/17 M2207 - cb@iutbeziers.fr 3/15
Exemple de client/serveur TCP
Port TCP 7 - RFC 862
Le protocole «=echo=» ressemble à un ping.
Le client envoie une chaîne et le serveur lui
renvoie en écho la même valeur.
Pour cet exemple, il faudra transformer les flots
d'entrée et de sortie de chaque connexion
réseau (Socket) en objets permettant d'écrire
(PrintStream) ou de lire (BufferedReader) du
texte.
16/05/17 M2207 - cb@iutbeziers.fr 4/15
La classe Socket (1)
La classe Socket donne accès aux flots de données grâce
aux méthodes suivantes :
OutputStream getOutputStream()
InputStream getInputStream()
On doit donc chercher des constructeurs compatibles avec
ses objets pour manipuler du texte.
Pour la classe PrintStream, il n'y a pas de soucis car il
existe au moins 2 constructeurs correspondant :
PrintStream(OutputStream out)
PrintStream(OutputStream out,
boolean autoFlush)
16/05/17 M2207 - cb@iutbeziers.fr 5/15
La classe Socket (2)
Pour la classe BufferedReader, il y a un petit soucis car les
constructeurs utilisent des objets Reader :
BufferedReader(Reader in)
Il faut donc passer par un intermédiaire pour transformer un
InputStream en Reader afin d'obtenir l'objet BufferedReader.
Cela se fait avec la classe InputStreamReader :
InputStreamReader(InputStream in)
On obtient donc :
InputStream is=sock.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader sockIn=new BufferedReader(isr);
1 / 15 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !