Vous êtes sur la page 1sur 19

Module : Programmation sous Java

Programmation Réseau

C YC LE D’ING IN IEUR S :
GÉ NIE INF O RMATIQ UE

1
2022-2023 Pof. AZROUR MOURADE
Chapitre VII: Programmation Réseau

 Introduction
 Gestion des adresses réseau en Java
 Communications TCP-IP (Socket)
 Communications UDP

2
Chapitre VII: Programmation Réseau
I- Introduction

3
Chapitre VII: Programmation Réseau
II- Gestion des adresses réseau en Java

Chaque machine de l'Internet est identifiée par une adresse ou un nom uniques.
Ces deux entités sont gérées sous Java par la classe InetAddress dont voici
quelque méthodes:
byte [] getAddress() donne les 4 octets de l'adresse IP de l'instance InetAddress
courante
String getHostAddress() donne l'adresse IP de l'instance InetAddress courante
String getHostName() donne le nom Internet de l'instance InetAddress courante
String toString() donne l'identité adresse IP/ nom internet de l'instance
InetAddress courante
InetAddress getByName(String crée l'instance InetAddress de la machine désignée par Host.
Host) Génère une exception si Host est inconnu. Host peut être le nom
internet d'une machine ou son adresse IP sous la forme
I1.I2.I3.I4
InetAddress getLocalHost() crée l'instance InetAddress de la machine sur laquelle s'exécute

4
le programme contenant cette instruction.
Chapitre VII: Programmation Réseau
II- Gestion des adresses réseau en Java

Exemple

5
Chapitre VII: Programmation Réseau
III- Communications TCP-IP (Socket)

6
Chapitre VII: Programmation Réseau
III- Communications TCP-IP (Socket)

Architecture de client

7
Chapitre VII: Programmation Réseau
III- Communications TCP-IP (Socket)

Architecture de serveur

La tâche service

8
Chapitre VII: Programmation Réseau
III- Communications TCP-IP (Socket)

La classe Socket

9
Chapitre VII: Programmation Réseau
III- Communications TCP-IP (Socket)

La classe ServerSocket

10
Chapitre VII: Programmation Réseau
III- Communications TCP-IP (Socket)

Exemple de client

11
Chapitre VII: Programmation Réseau
III- Communications TCP-IP (Socket)

Exemple de Serveur

12
Chapitre VII: Programmation Réseau
III- Communications TCP-IP (Socket)

Exemple de Service

13
Chapitre VII: Programmation Réseau
III- Communications UDP (DatagramSocket)

Classe DatagramSocket

Constructeur Rôle

DatagramPacket(byte tampon[], int taille) Encapsule des paquets en réception dans un tampon

DatagramPacket(byte port[], int taille, InetAddress Encapsule des paquets en émission à destination d'une
adresse, int port) machine

il crée un socket de datagramme et le lie avec le numéro de


DatagramSocket()
port disponible sur la machine localhost.

14
Chapitre VII: Programmation Réseau
III- Communications UDP (DatagramSocket)

Classe DatagramSocket

Méthode Rôle
InetAddress getAddress () Renvoyer l'adresse du serveur
byte[] getData() Renvoyer les données contenues dans le paquet
int getPort () Renvoyer le port
Renvoyer la taille des données contenues dans
int getLength ()
le paquet
Mettre à jour les données contenues dans le
setData(byte[])
paquet

15
Chapitre VII: Programmation Réseau
III- Communications UDP (DatagramSocket)

Les Exceptions liés aux réseaux


Exception Rôle / Définition
BindException Connection au port local impossible : le port est peut être déjà utilisé

ConnectException Connection à une socket impossible : aucun serveur n'écoute sur le port précisé

MalformedURLException L'URL n'est pas valide


NoRouteToHostException Connection à l'hôte impossible : un firewall empêche la connexion

ProtocolException Une erreur est survenue au niveau du protocle sous-jacent (TCP par exemple)

SocketException Une erreur est survenue au niveau du protocle sous-jacent


SocketTimeoutException Délai d'attente pour la réception ou l'émission des données écoulé
UnknownHostException L'adresse IP de l'hôte n'a pas pu être trouvée

Une erreur est survenue au niveau de la couche service : par exemple, le type MIME
UnknownServiceException
retourné est incorrect ou l'application tente d'écrire sur une connexion en lecture seule

URISyntaxException La syntaxe de l'URI utilisée est invalide

16
Chapitre VII: Programmation Réseau
IV- Classes URL / URLConnexion

La classe URLreprésente une URL(Uniform Resource Locator). Elle pointe vers une ressource
sur le World Wide Web.
Par exemple : https://www.google.com/search?q=azrour

La classe URLConnection représente un lien de communication entre l'URL et l'application.


Elle peut être utilisée pour lire et écrire des données dans la ressource spécifiée à laquelle
l'URL fait référence.

17
Chapitre VII: Programmation Réseau
V- HttpURLConnection

La classe HttpURLConnection sous-classe de la classe URLConnection spécifique au


protocole HTTP. Elle fonctionne uniquement pour le protocole HTTP.

À l'aide de la classe HttpURLConnection, vous pouvez récupérer les informations de n'importe


quelle URL HTTP, telles que les informations d'en-tête, le code d'état, le code de réponse, etc.

18
TP_A_FAIRE

19

Vous aimerez peut-être aussi