SlideShare une entreprise Scribd logo
Dirigé par:
M. BOUKHELKHAL Ahmed
Travail Réalisé par :
 BENYAMMI Bachir
 HASSANI Mustapha
 OULD BAHAMMOU Abdelaziz
Niveau: 4eme Année informatique - Cycle long
Ministère de l’Enseignement et de la Recherche Scientifique
UNIVERSITE AMAR TELIDJI
LAGHOUAT
FACULTE DES SCIENCES ET DE L’INGENIERIE
DEPARTEMENT DE GENIE INFORMATIQUE
Module Réseau et Communication
THÈME:
Année Universitaire
2006-2007
13 janvier 2016 Programmation Réseau en JAVA 2
Plan
 Introduction.
 JAVA (Historique, Caractéristiques, API,…).
 Réseau (TCP-IP, TCP, UDP, Socket, Port, Diffusion, URLs, …).
 Adressage et Internet (Couche Réseau).
 Communication par Sockets (couche Transport).
 Ressources Internet (URL) (couche Application).
 Exceptions liées aux réseaux.
 Conclusion.
 Bibliographie.
P
L
A
N
D
U
T
R
A
V
A
I
L
13 janvier 2016 Programmation Réseau en JAVA 3
I - Introduction
Depuis son origine, Java fournit plusieurs
classes et interfaces destinées à la
programmation réseau, à cause de son API
qui a été bien conçu et riche d'une côté, et
traité la plupart des interfaces, protocoles et
plateformes d'autres côté; la programmation
des applications réseaux en JAVA est
devenue un choix primordial.
I
N
T
R
O
D
U
C
T
I
O
N
13 janvier 2016 Programmation Réseau en JAVA 4
Quelque Domaines d’application
 Navigation d'un l'Internet (HTTP).
 Messagerie électronique (SMTP et POP).
 Conception de nouveaux protocoles.
 Sécurité des communications (Cryptage des
messages, authentification, …).
 Mise en place des services Internet et interfaces GUI
clients.
 Recherche des hôtesses et adressage (DNS).
 Transfert de fichiers (FTP).
 Déploiement à distance des applications multiple
systèmes (RMI).
 …
I
N
T
R
O
D
U
C
T
I
O
N
13 janvier 2016 Programmation Réseau en JAVA 5
Bref historique de Java
Les principaux événements de la vie de Java sont les suivants :
Année Événements
1995 mai : premier lancement commercial
1996 janvier : JDK 1.0
1996 septembre : lancement du JDC
1997 février : JDK 1.1
1998 décembre : lancement de J2SE et du JCP
1999 décembre : lancement J2EE
2000 mai : J2SE 1.3
2002 J2SE 1.4
2004 J2SE 1.5
2006 J2SE 1.6
L
A
N
G
A
G
E
J
A
V
A
13 janvier 2016 Programmation Réseau en JAVA 6
Les caractéristiques de JAVA
JAVA est:
 Familier,
 Orienté objet,
 Client / Serveur;
 Multithreadé,
 Interprété.
JAVA à une:
 Architecture neutre,
 Portable,
 Dynamiquement adaptable.
Les applications JAVA sont:
 Sécurisées,
 Performantes,
 Robustes,
 Plateformes multiples,
 Réseaux hétérogènes, distribués.
L
A
N
G
A
G
E
J
A
V
A
13 janvier 2016 Programmation Réseau en JAVA 7
L’ API du JAVA
JAVA inclut un grand nombre de librairies de classes utiles et de
méthodes, très brièvement, ces librairies sont :
 java.lang : Classes de base du langage.
 java.io : Gestion les flux (Entrées/Sorties).
 java.net : Fonctionnalités réseaux (programmation réseaux).
 Java.util : Utilitaires divers.
 java.awt : Jeux d’outils pour les interfaces graphiques (GUI).
 Java.Applet: Développement des applets.
 Java.RMI : Développement d'objets distribués.
 Java.Swing : Développement des interfaces graphiques.
 java.sql : JDBC pour l'accès aux bases de données.
 Java.Security : Gestion des signatures et des certifications.
 java.JavaBean : Développer des composants réutilisables.
L
A
N
G
A
G
E
J
A
V
A
13 janvier 2016 Programmation Réseau en JAVA 8
Comparaison du JAVA
L
A
N
G
A
G
E
J
A
V
A
13 janvier 2016 Programmation Réseau en JAVA 9
Architecture Client - Serveur
 C’est une communication entre deux machines
 L’un de ces machine offre des services (Serveur).
 L’autre machine consomme ces services (Client).
 Le client lance une requête pour l’acquisition d’une
ressource (Texte, Image, Son, …).
 Le serveur exécute la requête (lancement des scripts,
interaction avec BDD, …).
 Le résultat de la requête (réponse) est envoyé au client.
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 10
Le protocole TCP-IP
HTTP FTP Telnet SMTP NFS SNMP DNS RIP
TCP UDP
IP
Token RingEthernet FDDI
Application
Transport
Réseau
Liaison
TCP-IP et hiérarchie de ces protocoles
HTTP (Hypertext Transfer Protocol) FTP (File Transfer Protocol)
SMTP (Simple Mail Transfer Protocol) NFS (Network File System)
RIP (Routing Information Protocol) DNS (Domain Name System)
SNMP (Simple Network Management Protocol)
IP (Internet Protocol) FDDI (Fiber Distributed Data Interface)
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 11
TCP-IP et java.net
 Les classes et interfaces utiles au développement
réseau sont regroupées dans le package java.net.
 Dans le cadre de ce mini projet; 10 classes ont été
choisies.
 Les couche programmable du TCP-IP sont:
Application, Transport et Réseau.
URL, URLConnection, URLEncoder
Socket, ServerSocket
InetAdress, NetworkInterfaces
Application
Transport
(TCP/UDP)
Réseau (IP)
DatagramSocket,
DatagramPacket,
MulticastSocket
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 12
Notion de Socket et de Port
Communication
par Sockets
Socket
 Un modèle de communication basé sur TCP ou UDP.
 Dans une communication; au moins 2 sockets sont utilisées.
 Chaque socket est identifiée par une adresse IP et un numéro de port.
Port
 La liaison d’une machine à un réseau est physique.
 Les données passent par cette liaison sont utilisées par diverses
applications (ou protocoles).
 Les ports sont fondus pour distinguer les données propriétaire à chaque
processus (plusieurs communications TCP et/ou UDP en parallèle).
 Quelque numéros de port sont réservés (Well Known Ports).
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 13
TCP
 Communication garantie.
 Ordre de la livraison des paquets est prise en compte.
 Pas de perte ou de duplication des paquets.
 Communication fiable (moins performante).
 Utile pour l’implantation des services réseaux tel que
l’accès à distance (telnet, rlogin) et le transfert des
fichiers (ftp) où un grand flux de donnés est échangé.
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 14
UDP
 Communication non garantie.
 Ordre de la livraison des paquets n'est pas important
et non garantie.
 Possibilité de perte ou de duplication des paquets.
 Communication très rapide (bonnes performances).
 UDP est réservé à des taches peu importantes.
 UDP est utilisé dans plusieurs applications (eMule,
Kaza, iMesh...).
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 15
Mode connecté en non connecté
Émetteur Récepteur
Mot 2 Mot 1Mot 3 Mot 2 Mot 1Mot 3
3 12 3 21
Émetteur Récepteur
X
1
Appel téléphonique
(Support de transmission : l’opérateur téléphonique)
Courriers postaux
(Support de transmission : Service portal)
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 16
La diffusion
 Envoyer des paquets à plusieurs machines sans
faire la duplication de ces paquets.
 L’adresse IP doit être type classe D, c-à-d entre
224.0.0.1 et 239.255.255.255
(Tous ces adresse sont déjà occupées !!).
 Utilisation du champ TTL (Time To Live)
pour contrôler le chemin du paquet:
 1 = Réseau local.
 16 = Région.
 127 = Monde entier.
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 17
La diffusion
PC 1 diffuse des informations au autres PC
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 18
Les URLs
 Une URL (Uniform Source Locator) est une
chaîne de caractères qui désigne une
ressource accessible par Internet ou Intranet.
 Une URL est composée en générale d’un
protocole, un serveur, un port, chemin
d’accès et un ensemble de paramètres.
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 19
Exemples d’URLs
 http://<serveur>:<port>/<chemin>?<param1>&<param2>&...&<paramn>
http://www.google.com/convert?value=100&src=miles&dist=kilometers
 ftp://<user>:<motdepasse>@<serveur>:<port>/<chemin>
ftp://benbac:2007dz47@free.fr/siteperso
 mailto:<email>
mailto:benbac20@gmail.com
 file://<serveur>/<chemin>
file:///C:/My%20documents/Mes%20images/logo.jpg
R
E
S
E
A
U
X
13 janvier 2016 Programmation Réseau en JAVA 20
IV – Adressage et Internet
(Couche Réseau)
Chaque machine du
réseau Internet à une adresse
unique, cette adresse (appelée
adresse IP ) est codée sur 4
octets séparés par des points.
192 168 0 15
Adresse du réseau
(poids fort)
Adresse du machine sur
le réseau (poids faible)
Pour faciliter la compréhension humaine, un serveur
particulier appelé DNS (Domaine Name Service) est
capable d'associer un nom à une adresse IP.
A
D
R
E
S
S
A
G
E
13 janvier 2016 Programmation Réseau en JAVA 21
Méthode Rôle
InetAddress
getByName(String)
Renvoie l'adresse Internet associée au
nom d'hôte passé en paramètre.
InetAddress[]
getAllByName(String)
Renvoie un tableau des adresses
Internet associées au nom d'hôte.
InetAddress getLocalHost() Renvoie l’IP de la machine locale.
byte[] getAddress() Renvoie les 4 octets de l'adresse IP.
String getHostAddress() Renvoie L’IP sous la forme d'une chaîne.
String getHostName() Renvoie le nom du serveur.
Cette classe offre des méthodes de manipulation des adresses Internet,
elle est constituée
 D’un objet de la classe InetAddress représente l’adresse Internet.
 Des méthodes pour lire l’adresse, la comparer avec
d’ autre ou la convertir en chaîne de caractères.
A - La classe InetAddress
A
D
R
E
S
S
A
G
E
13 janvier 2016 Programmation Réseau en JAVA 22
Les interfaces de connexions aux réseaux
 La nouvelle classe NetworkInterface (J2SE 1.4)
permet d'obtenir la liste des interfaces de connexion
aux réseaux de la machine.
 Une interface de connexion
au réseau se caractérise par :
 Un nom court,
 Une désignation,
 Une liste d'adresses IP.
A
D
R
E
S
S
A
G
E
13 janvier 2016 Programmation Réseau en JAVA 23
B - La Classe NetworkInterface
Méthode Description
String getName() Renvoie le nom court de l'interface
String
getDisplayName() Renvoie la désignation de l'interface
Enumeration
getInetAddresses()
Renvoie une énumération d'objet
InetAddress contenant la liste
des adresses IP associée à
l'interface
Les méthode utilisées dans cette classe sont:
A
D
R
E
S
S
A
G
E
13 janvier 2016 Programmation Réseau en JAVA 24
V - Communication par Sockets
(Couche Transport)
Les sockets représentent l’outil de base pour la conception
des protocoles et le développement des applications de
communication tel que la messagerie, transmission des fichiers,
vidéoconférence,….etc. deux protocoles sont utilisés:
1. Le protocole TCP
a. ServerSocket
b. Socket
2. Le protocole UDP
a. DatagramSocket
b. DatagramPacket
c. MulticastSocket
S
O
C
K
E
T
S
13 janvier 2016 Programmation Réseau en JAVA 25
1- Communication en mode Connecté(TCP)
 La classe SocketServer
 Elle est utilisée au coté serveur.
 Elle attend simplement les appels des clients.
 Chaque objet est associé à un port sur lequel il va attendre les connexions.
 Pour chaque client, un thread est lancé pour assurer le dialogue avec lui.
 La classe Socket
 La classe contient les méthodes de création des flux d'entrée-sortie.
 Les sockets constituent la base des communications sur le réseau.
 La classe gère la connexion, l'envoi de données, la réception de données
et la déconnexion.
S
O
C
K
E
T
S
13 janvier 2016 Programmation Réseau en JAVA 26
A - La classe ServerSocket
Constructeur Rôle
ServerSocket() Constructeur par défaut.
ServerSocket
(int)
Créer une Socket sur le port fourni en
paramètre.
ServerSocket
(int, int)
Créer une Socket sur le port avec la taille
maximale de la file fourni en paramètre.
La classe possède plusieurs constructeurs dont les principaux sont :
Méthode Rôle
Socket accept() Attendre une nouvelle connexion
void close() Fermer la socket
La classe SocketServer possède plusieurs méthodes :
S
O
C
K
E
T
S
13 janvier 2016 Programmation Réseau en JAVA 27
Constructeur Rôle
Server() Constructeur par défaut.
ServerSocket
(String, int)
Créer une socket sur la machine dont le nom
et le port sont fournis en paramètre.
ServerSocket
(InetAddress, int)
Créer une socket sur la machine dont
l'adresse et le port sont fournis en paramètre.
Méthode Rôle
InetAddress
getInetAddress()
Renvoie l'adresse IP distant.
void close() Fermer la socket.
InputStream
getInputStream()
Renvoie un flux en entrée pour recevoir
les données de la socket.
OutputStream
getOutputStream()
Renvoie un flux en sortie pour émettre
les données de la socket.
B - La classe Socket
S
O
C
K
E
T
S
13 janvier 2016 Programmation Réseau en JAVA 28
Mécanisme de communication entre le Client et le Serveur par TCP
S
O
C
K
E
T
S
13 janvier 2016 Programmation Réseau en JAVA 29
2 - Communication en mode
non connecté (UDP)
La classe DatagramSocket
 Émission et réception des paquets à l’aide des méthodes
Send() et Recieve().
La classe DatagramPacket
 Émission et la réception des données d’un paquet à l’aide d’un
tableau d’octets à l’aide de getData()et sendData().
La classe MulticastSocket
 Diffusion des paquets sur un réseau.
S
O
C
K
E
T
S
13 janvier 2016 Programmation Réseau en JAVA 30
A - La classe DatagramSocket
Constructeur Rôle
DatagramSocket() Créé une socket attachée à toutes les IP de
la machine et avec un à des ports libres.
DatagramSocket(int) Créé une socket attachée à toutes les IP
avec un port précisé en paramètre.
DatagramSocket
(int, InetAddress)
Créé une socket attachée à une adresse IP
et un port précisé en paramètre.
Méthode Rôle
close() Fermeture de la Socket.
receive(DatagramPacket) Recevoir des données.
send(DatagramPacket) Envoyer des données.
int getPort() Renvoie le port associé à la socket.
S
O
C
K
E
T
S
13 janvier 2016 Programmation Réseau en JAVA 31
B - La classe DatagramPacket
Constructeur Rôle
DatagramPacket
(byte tampon[], int length)
Encapsule des paquets en
réception dans un tampon.
DatagramPacket
(byte port[], int length,
InetAddress adresse, int port)
Encapsule des paquets en
émission à destination d'une
machine.
La classe possède plusieurs constructeurs dont les principaux sont :
Méthode Rôle
InetAddress getAddress() Renvoie l'adresse du serveur.
byte[] getData() Renvoie les données du paquet.
int getPort Renvoie le port.
int getLength () Renvoie la taille des données.
setData(byte[]) Mettre à jour les données.
S
O
C
K
E
T
S
13 janvier 2016 Programmation Réseau en JAVA 32
Mécanisme de communication entre le Client et le Serveur par UDP
S
O
C
K
E
T
S
13 janvier 2016 Programmation Réseau en JAVA 33
C - La classe MulticastSocket
Constructeur Rôle
MulticastSocket() Pour l'envoi des paquets.
MulticastSocket
(int port)
Pour la réception des paquets sur un
port spécifié.
La classe possède plusieurs constructeurs dont les principaux sont :
Méthode Rôle
void joinGroup
(InetAddress mcastaddr)
La jointure avec à un groupe
de diffusion.
leaveGroup
(InetAddress mcastaddr)
Abandonner le groupe de
diffusion.
La classe MulticastSocket possède plusieurs méthodes :
S
O
C
K
E
T
S
13 janvier 2016 Programmation Réseau en JAVA 34
VI – Ressources Internet (URL)
(Couche Application)
Les classes du Java.net les plus important de la
gestion et la manipulation des liens sont:
La classe URL
 Validation syntaxique des liens.
La classe URLConnection
 Établir des connexion vers des ressources.
La classe URLEncoder
 Utilitaire de codification (encodage) des URL.
R
E
S
S
O
U
R
C
E
S
13 janvier 2016 Programmation Réseau en JAVA 35
A - La classe URL
La classe URL possède plusieurs méthodes pour obtenir les
différents éléments qui composent l’URL, parmi ces méthodes:
Si la syntaxe de l’URL n’est pas correcte; une exception de type
MalformedURLException est signalée.
Méthode Rôle
getProtocol() Renvoie le protocole utilisé.
getHost() Renvoie le nom du hôte.
getPort() Renvoie le port utilisé.
getFile() Renvoie le chemin complet du fichier.
openConnection() Ouvrir une connexion vers la
ressource.
openStream() Ouvrir un flux de données en entrée
pour lire la ressource.
R
E
S
S
O
U
R
C
E
S
13 janvier 2016 Programmation Réseau en JAVA 36
B - La classe URLConnection
Cette classe établir une connexion vers une ressource
désignée par une URL pour obtenir un flux de données ou
des informations sur cette ressource.
En plus de ça, la classe URLConnection offre des outils
pour la lecture et l’écriture dans les ressources désignées .
Méthode Rôle
getInputStream() Renvoie un flux de données
getContentLength() Renvoie la taille du flux.
R
E
S
S
O
U
R
C
E
S
13 janvier 2016 Programmation Réseau en JAVA 37
C - La classe URLEncoder
Cette classe est une classe utilitaire qui propose
la méthode statique encode() pour encoder une
URL.
Elle remplace notamment les espaces par un
signe "+" et les caractères spéciaux par un signe
"%" suivi du code du caractère.
R
E
S
S
O
U
R
C
E
S
13 janvier 2016 Programmation Réseau en JAVA 38
VII-Les exception liées au réseaux
Le package java.net définit plusieurs exceptions qui
permettant de gérer les différentes erreurs résultantes de
l'exécution des ces classes et méthodes. Parmi ces exceptions:
Exception Description
BindException Port utilisé par une autre application.
ConnectException Aucun serveur n'écoute sur le port précisé.
MalformedURLException L'URL n'est pas valide
NoRouteToHostException Un firewall empêche la connexion
SocketTimeoutException Délai d'attente écoulé.
UnknownHostException L'adresse de l'hôte n'a pas pu être trouvée
E
X
C
E
P
T
I
O
N
S
13 janvier 2016 Programmation Réseau en JAVA 39
Conclusion
 En voie claire et net la puissance et la souplesse du langage JAVA dans
divers domaines d’application et spécialement l’Internet et les réseaux
interconnectées.
 JAVA est actuellement prend l'avantage complet de l'Internet en dominant
ces principales aspects :
 Rechercher et visualisation des informations.
 Transmission des données.
 Jeux interactifs.
 Chat et messagerie.
 Commerce électronique.
 Actualités.
 Diffusion radio et TV.
 Conférence en ligne.
 …
 En future, il semble que JAVA devient la plateforme la plus adéquate de
tous type d'applications réseau et spécialement l'Internet.
C
O
N
C
L
I
T
I
O
N
13 janvier 2016 Programmation Réseau en JAVA 40
Bibliographie
 Emmanuel Remy : Généralités sur java,
http://emmanuel-remy.developpez.com.
 Dr.Irène Charon: Java concepts et pratique, 2éme édition 2003.
 Dr.Bruce Eckel: Penser en Java, 2éme édition 2000.
 Package pédagogique multimédia, 8éme édition, Août 2006.
 Jean Michel DOUDOUX : Développons en Java,
http://www.jmdoudoux.fr/java/.
 CISCO Academy American Network.
 Elliotte Rusty Harold : Java Network Programming,
2nd Edition , O‘Reilly.
 The Java Tutorials, : Custom Networking
http://java.sun.com/docs/books/tutorial.
 Gilles ROUSSEL : Programmation réseau avec JAVA.
 Comment ça marche, http://commentcamarche.net.
 Didier Donsez, Programmation Réseau, Université de Valenciennes.
 Boukhalkhal Ahmed et Sahel Naima, Réalisation d’une application
d’aide à l’administration sous Windows NT.
B
I
B
L
I
O
G
R
A
P
H
I
E
Programmation réseau en JAVA

Contenu connexe

PDF
Rapport Sockets en Java
PPSX
Les architectures client serveur
PDF
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
PDF
Support POO Java Deuxième Partie
PPTX
Combinatorial Optimization
PDF
Ch 01 poo
PDF
BigData_Chp1: Introduction à la Big Data
PDF
Cours design pattern m youssfi partie 4 composite
Rapport Sockets en Java
Les architectures client serveur
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Support POO Java Deuxième Partie
Combinatorial Optimization
Ch 01 poo
BigData_Chp1: Introduction à la Big Data
Cours design pattern m youssfi partie 4 composite

Tendances (20)

PDF
Programmation réseau en JAVA
PPTX
Formation1 sockets
PDF
Conception et developpement d'un site web pour la suggestion et notification ...
PDF
Développement informatique : Programmation réseau
PDF
Support JEE Servlet Jsp MVC M.Youssfi
PPTX
Java RMI
PDF
QCM Sécurité Informatique
PDF
Rapport application chat
PDF
Les socket ing1_issat
PDF
Support de cours Spring M.youssfi
PPTX
Sockets
PPSX
diagramme de séquence UML
PDF
Support de cours technologie et application m.youssfi
DOCX
Rapport Pfe Application Web e-commerce Symfony2
PDF
Socket tcp ip client server on langace c
PDF
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
PPTX
Appels de procédures distants (RPC)
PDF
Cours 3 les objets distants rmi corba
PDF
Tp1 - WS avec JAXWS
PDF
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Programmation réseau en JAVA
Formation1 sockets
Conception et developpement d'un site web pour la suggestion et notification ...
Développement informatique : Programmation réseau
Support JEE Servlet Jsp MVC M.Youssfi
Java RMI
QCM Sécurité Informatique
Rapport application chat
Les socket ing1_issat
Support de cours Spring M.youssfi
Sockets
diagramme de séquence UML
Support de cours technologie et application m.youssfi
Rapport Pfe Application Web e-commerce Symfony2
Socket tcp ip client server on langace c
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Appels de procédures distants (RPC)
Cours 3 les objets distants rmi corba
Tp1 - WS avec JAXWS
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Publicité

En vedette (20)

PPT
Le Réseau et Java
PDF
Programmation sous Android
PDF
programmation réseau en java
PDF
Support programmation orientée aspect mohamed youssfi (aop)
PDF
Support programmation orientée objet c# .net version f8
PDF
Gwt jetty et sources de données
PDF
JavaFX 2.0 - リッチクライアントのためのUI基盤
PDF
Les ateliers android_1_vers2015
PPT
Hacking Tomcat
PDF
Socket programming using java
PDF
Introduction aux-sockets
PDF
Autumn collection JavaOne 2014
PDF
Chat application in java using swing and socket programming.
PPSX
Network protocols and Java programming
PDF
50 new things you can do with java 8
PDF
Java 8-streams-collectors-patterns
PDF
Passive reporting 2
PPTX
Les nouveautés de asp.net mvc 3
PDF
Les collections en JAVA
PDF
Cycle de vie d'activité Android et les composant d'Android
Le Réseau et Java
Programmation sous Android
programmation réseau en java
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée objet c# .net version f8
Gwt jetty et sources de données
JavaFX 2.0 - リッチクライアントのためのUI基盤
Les ateliers android_1_vers2015
Hacking Tomcat
Socket programming using java
Introduction aux-sockets
Autumn collection JavaOne 2014
Chat application in java using swing and socket programming.
Network protocols and Java programming
50 new things you can do with java 8
Java 8-streams-collectors-patterns
Passive reporting 2
Les nouveautés de asp.net mvc 3
Les collections en JAVA
Cycle de vie d'activité Android et les composant d'Android
Publicité

Similaire à Programmation réseau en JAVA (20)

PDF
Cours services web_fabrice_mourlin
PPTX
Presetreeeeeetert4rrfgetws3entation2.pptx
PDF
introduction à la famille TCP_IP_5.pdfintroduction à la famille TCP_IP_5.pdf
PDF
JavaRMI.pdf
PPT
Introduction algorithme et programmation.ppt
PDF
Chap7 java net
PDF
COUPLAGE ENTRE Asterisk et OpenIMSCore
PDF
Vinothkumar palaniyappan cv
PDF
Administration reseau
PDF
Administration reseau
PDF
cours-gratuit.com--id-5598.pdf
PPTX
Presentatrrrrrrrrrrrrrrrrrrrrrrion1.pptx
PPTX
Ports et definitionscp
PDF
Chap1_PresentationJava.pdf
PPT
Les reseaux
PPT
Couche1 couche2 s4_v05
PDF
Web-DutDst-PHP-DSTTFORMATINCDECKDKD?E.pdf
PPTX
Évaluation des performances du réseau 3G : application à la couche réseau
PDF
Module informatique sur l'adressage IP, le VLSM
PDF
Systèmes et applications distribués.pdf
Cours services web_fabrice_mourlin
Presetreeeeeetert4rrfgetws3entation2.pptx
introduction à la famille TCP_IP_5.pdfintroduction à la famille TCP_IP_5.pdf
JavaRMI.pdf
Introduction algorithme et programmation.ppt
Chap7 java net
COUPLAGE ENTRE Asterisk et OpenIMSCore
Vinothkumar palaniyappan cv
Administration reseau
Administration reseau
cours-gratuit.com--id-5598.pdf
Presentatrrrrrrrrrrrrrrrrrrrrrrion1.pptx
Ports et definitionscp
Chap1_PresentationJava.pdf
Les reseaux
Couche1 couche2 s4_v05
Web-DutDst-PHP-DSTTFORMATINCDECKDKD?E.pdf
Évaluation des performances du réseau 3G : application à la couche réseau
Module informatique sur l'adressage IP, le VLSM
Systèmes et applications distribués.pdf

Plus de Bachir Benyammi (18)

PDF
Mastering NIST CSF 2.0 - The New Govern Function.pdf
PDF
NIST Cybersecurity Framework (CSF) 2.0 Workshop
PDF
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
PDF
Déclaration d'applicabilité (DdA) - ISO27002:2013
PDF
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
PDF
كل ما تحب معرفته عن محرك البحث قوقل (Google)
PDF
Réalisation d'un site web dynamique mobile pour Air Algérie
PDF
Evolution des exportations de marchandises en Algérie de de 1992 à 2004
PDF
Simulation d’un système à temps partagé
PDF
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
PDF
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
PDF
Le périphérique souris
PDF
L'équipe de développement
PDF
L'équipe de développement
PDF
Le périphérique souris (programmation)
PDF
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
PDF
Réalisation d'un compilateur de mini langage - Khawarizmi
PDF
Réalisation d’un interpréteur en langue Arabe - Khawarizmi
Mastering NIST CSF 2.0 - The New Govern Function.pdf
NIST Cybersecurity Framework (CSF) 2.0 Workshop
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
Déclaration d'applicabilité (DdA) - ISO27002:2013
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
كل ما تحب معرفته عن محرك البحث قوقل (Google)
Réalisation d'un site web dynamique mobile pour Air Algérie
Evolution des exportations de marchandises en Algérie de de 1992 à 2004
Simulation d’un système à temps partagé
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
Le périphérique souris
L'équipe de développement
L'équipe de développement
Le périphérique souris (programmation)
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Réalisation d'un compilateur de mini langage - Khawarizmi
Réalisation d’un interpréteur en langue Arabe - Khawarizmi

Dernier (20)

PPTX
Copie de Présentation Personal Branding J2025.pptx_20250610_120558_0000.pptx
PPTX
Conception de documents et d'interfaces numériques.pptx
PPTX
domaine 1.pptxhorgnv,,odl,vjfnghburjf,c,el
PPTX
risque environnema et mesure protect.pptx
PDF
Referentiel des metiers cadres dans la banque
PDF
_LEAN_MANAGEMENT_Am_lioration_continue_�_1724845102.pdf
PPTX
Marketing de l'Artisanat et la technique
PPTX
le-present-de-lindicatif-ou-le-subjonctif-present-exercice-grammatical-feuill...
PPTX
Informatique pour débutants niveau 1.pptx
PDF
Mémorisation: guide à l'usage des professeurs en recherche de nouvelles idées
PDF
🎓 Le Secret des Profs Captivants - 💡 Pourquoi l’oral est stratégique en class...
PPTX
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
PDF
🎓 Le Secret des Profs Captivants - 💡 Enseigner, c’est parler - Introduction_v2
PPTX
Le tableau volé.pptx Film françaisde pascal Bonitzer
PPTX
Séminaire protection des personnes vulnérables.pptx
PPTX
Bienvenido slides about the first steps in spanish.pptx
PPTX
Hopital bonne sante.pptxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PPTX
Formation Equipement de protection .pptx
PPT
diaporama pictogrammes de securité2.ppt
PPT
مبادئ و هدف الحركة الكشفية عرض تقديمي.ppt
Copie de Présentation Personal Branding J2025.pptx_20250610_120558_0000.pptx
Conception de documents et d'interfaces numériques.pptx
domaine 1.pptxhorgnv,,odl,vjfnghburjf,c,el
risque environnema et mesure protect.pptx
Referentiel des metiers cadres dans la banque
_LEAN_MANAGEMENT_Am_lioration_continue_�_1724845102.pdf
Marketing de l'Artisanat et la technique
le-present-de-lindicatif-ou-le-subjonctif-present-exercice-grammatical-feuill...
Informatique pour débutants niveau 1.pptx
Mémorisation: guide à l'usage des professeurs en recherche de nouvelles idées
🎓 Le Secret des Profs Captivants - 💡 Pourquoi l’oral est stratégique en class...
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
🎓 Le Secret des Profs Captivants - 💡 Enseigner, c’est parler - Introduction_v2
Le tableau volé.pptx Film françaisde pascal Bonitzer
Séminaire protection des personnes vulnérables.pptx
Bienvenido slides about the first steps in spanish.pptx
Hopital bonne sante.pptxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Formation Equipement de protection .pptx
diaporama pictogrammes de securité2.ppt
مبادئ و هدف الحركة الكشفية عرض تقديمي.ppt

Programmation réseau en JAVA

  • 1. Dirigé par: M. BOUKHELKHAL Ahmed Travail Réalisé par :  BENYAMMI Bachir  HASSANI Mustapha  OULD BAHAMMOU Abdelaziz Niveau: 4eme Année informatique - Cycle long Ministère de l’Enseignement et de la Recherche Scientifique UNIVERSITE AMAR TELIDJI LAGHOUAT FACULTE DES SCIENCES ET DE L’INGENIERIE DEPARTEMENT DE GENIE INFORMATIQUE Module Réseau et Communication THÈME: Année Universitaire 2006-2007
  • 2. 13 janvier 2016 Programmation Réseau en JAVA 2 Plan  Introduction.  JAVA (Historique, Caractéristiques, API,…).  Réseau (TCP-IP, TCP, UDP, Socket, Port, Diffusion, URLs, …).  Adressage et Internet (Couche Réseau).  Communication par Sockets (couche Transport).  Ressources Internet (URL) (couche Application).  Exceptions liées aux réseaux.  Conclusion.  Bibliographie. P L A N D U T R A V A I L
  • 3. 13 janvier 2016 Programmation Réseau en JAVA 3 I - Introduction Depuis son origine, Java fournit plusieurs classes et interfaces destinées à la programmation réseau, à cause de son API qui a été bien conçu et riche d'une côté, et traité la plupart des interfaces, protocoles et plateformes d'autres côté; la programmation des applications réseaux en JAVA est devenue un choix primordial. I N T R O D U C T I O N
  • 4. 13 janvier 2016 Programmation Réseau en JAVA 4 Quelque Domaines d’application  Navigation d'un l'Internet (HTTP).  Messagerie électronique (SMTP et POP).  Conception de nouveaux protocoles.  Sécurité des communications (Cryptage des messages, authentification, …).  Mise en place des services Internet et interfaces GUI clients.  Recherche des hôtesses et adressage (DNS).  Transfert de fichiers (FTP).  Déploiement à distance des applications multiple systèmes (RMI).  … I N T R O D U C T I O N
  • 5. 13 janvier 2016 Programmation Réseau en JAVA 5 Bref historique de Java Les principaux événements de la vie de Java sont les suivants : Année Événements 1995 mai : premier lancement commercial 1996 janvier : JDK 1.0 1996 septembre : lancement du JDC 1997 février : JDK 1.1 1998 décembre : lancement de J2SE et du JCP 1999 décembre : lancement J2EE 2000 mai : J2SE 1.3 2002 J2SE 1.4 2004 J2SE 1.5 2006 J2SE 1.6 L A N G A G E J A V A
  • 6. 13 janvier 2016 Programmation Réseau en JAVA 6 Les caractéristiques de JAVA JAVA est:  Familier,  Orienté objet,  Client / Serveur;  Multithreadé,  Interprété. JAVA à une:  Architecture neutre,  Portable,  Dynamiquement adaptable. Les applications JAVA sont:  Sécurisées,  Performantes,  Robustes,  Plateformes multiples,  Réseaux hétérogènes, distribués. L A N G A G E J A V A
  • 7. 13 janvier 2016 Programmation Réseau en JAVA 7 L’ API du JAVA JAVA inclut un grand nombre de librairies de classes utiles et de méthodes, très brièvement, ces librairies sont :  java.lang : Classes de base du langage.  java.io : Gestion les flux (Entrées/Sorties).  java.net : Fonctionnalités réseaux (programmation réseaux).  Java.util : Utilitaires divers.  java.awt : Jeux d’outils pour les interfaces graphiques (GUI).  Java.Applet: Développement des applets.  Java.RMI : Développement d'objets distribués.  Java.Swing : Développement des interfaces graphiques.  java.sql : JDBC pour l'accès aux bases de données.  Java.Security : Gestion des signatures et des certifications.  java.JavaBean : Développer des composants réutilisables. L A N G A G E J A V A
  • 8. 13 janvier 2016 Programmation Réseau en JAVA 8 Comparaison du JAVA L A N G A G E J A V A
  • 9. 13 janvier 2016 Programmation Réseau en JAVA 9 Architecture Client - Serveur  C’est une communication entre deux machines  L’un de ces machine offre des services (Serveur).  L’autre machine consomme ces services (Client).  Le client lance une requête pour l’acquisition d’une ressource (Texte, Image, Son, …).  Le serveur exécute la requête (lancement des scripts, interaction avec BDD, …).  Le résultat de la requête (réponse) est envoyé au client. R E S E A U X
  • 10. 13 janvier 2016 Programmation Réseau en JAVA 10 Le protocole TCP-IP HTTP FTP Telnet SMTP NFS SNMP DNS RIP TCP UDP IP Token RingEthernet FDDI Application Transport Réseau Liaison TCP-IP et hiérarchie de ces protocoles HTTP (Hypertext Transfer Protocol) FTP (File Transfer Protocol) SMTP (Simple Mail Transfer Protocol) NFS (Network File System) RIP (Routing Information Protocol) DNS (Domain Name System) SNMP (Simple Network Management Protocol) IP (Internet Protocol) FDDI (Fiber Distributed Data Interface) R E S E A U X
  • 11. 13 janvier 2016 Programmation Réseau en JAVA 11 TCP-IP et java.net  Les classes et interfaces utiles au développement réseau sont regroupées dans le package java.net.  Dans le cadre de ce mini projet; 10 classes ont été choisies.  Les couche programmable du TCP-IP sont: Application, Transport et Réseau. URL, URLConnection, URLEncoder Socket, ServerSocket InetAdress, NetworkInterfaces Application Transport (TCP/UDP) Réseau (IP) DatagramSocket, DatagramPacket, MulticastSocket R E S E A U X
  • 12. 13 janvier 2016 Programmation Réseau en JAVA 12 Notion de Socket et de Port Communication par Sockets Socket  Un modèle de communication basé sur TCP ou UDP.  Dans une communication; au moins 2 sockets sont utilisées.  Chaque socket est identifiée par une adresse IP et un numéro de port. Port  La liaison d’une machine à un réseau est physique.  Les données passent par cette liaison sont utilisées par diverses applications (ou protocoles).  Les ports sont fondus pour distinguer les données propriétaire à chaque processus (plusieurs communications TCP et/ou UDP en parallèle).  Quelque numéros de port sont réservés (Well Known Ports). R E S E A U X
  • 13. 13 janvier 2016 Programmation Réseau en JAVA 13 TCP  Communication garantie.  Ordre de la livraison des paquets est prise en compte.  Pas de perte ou de duplication des paquets.  Communication fiable (moins performante).  Utile pour l’implantation des services réseaux tel que l’accès à distance (telnet, rlogin) et le transfert des fichiers (ftp) où un grand flux de donnés est échangé. R E S E A U X
  • 14. 13 janvier 2016 Programmation Réseau en JAVA 14 UDP  Communication non garantie.  Ordre de la livraison des paquets n'est pas important et non garantie.  Possibilité de perte ou de duplication des paquets.  Communication très rapide (bonnes performances).  UDP est réservé à des taches peu importantes.  UDP est utilisé dans plusieurs applications (eMule, Kaza, iMesh...). R E S E A U X
  • 15. 13 janvier 2016 Programmation Réseau en JAVA 15 Mode connecté en non connecté Émetteur Récepteur Mot 2 Mot 1Mot 3 Mot 2 Mot 1Mot 3 3 12 3 21 Émetteur Récepteur X 1 Appel téléphonique (Support de transmission : l’opérateur téléphonique) Courriers postaux (Support de transmission : Service portal) R E S E A U X
  • 16. 13 janvier 2016 Programmation Réseau en JAVA 16 La diffusion  Envoyer des paquets à plusieurs machines sans faire la duplication de ces paquets.  L’adresse IP doit être type classe D, c-à-d entre 224.0.0.1 et 239.255.255.255 (Tous ces adresse sont déjà occupées !!).  Utilisation du champ TTL (Time To Live) pour contrôler le chemin du paquet:  1 = Réseau local.  16 = Région.  127 = Monde entier. R E S E A U X
  • 17. 13 janvier 2016 Programmation Réseau en JAVA 17 La diffusion PC 1 diffuse des informations au autres PC R E S E A U X
  • 18. 13 janvier 2016 Programmation Réseau en JAVA 18 Les URLs  Une URL (Uniform Source Locator) est une chaîne de caractères qui désigne une ressource accessible par Internet ou Intranet.  Une URL est composée en générale d’un protocole, un serveur, un port, chemin d’accès et un ensemble de paramètres. R E S E A U X
  • 19. 13 janvier 2016 Programmation Réseau en JAVA 19 Exemples d’URLs  http://<serveur>:<port>/<chemin>?<param1>&<param2>&...&<paramn> http://www.google.com/convert?value=100&src=miles&dist=kilometers  ftp://<user>:<motdepasse>@<serveur>:<port>/<chemin> ftp://benbac:2007dz47@free.fr/siteperso  mailto:<email> mailto:benbac20@gmail.com  file://<serveur>/<chemin> file:///C:/My%20documents/Mes%20images/logo.jpg R E S E A U X
  • 20. 13 janvier 2016 Programmation Réseau en JAVA 20 IV – Adressage et Internet (Couche Réseau) Chaque machine du réseau Internet à une adresse unique, cette adresse (appelée adresse IP ) est codée sur 4 octets séparés par des points. 192 168 0 15 Adresse du réseau (poids fort) Adresse du machine sur le réseau (poids faible) Pour faciliter la compréhension humaine, un serveur particulier appelé DNS (Domaine Name Service) est capable d'associer un nom à une adresse IP. A D R E S S A G E
  • 21. 13 janvier 2016 Programmation Réseau en JAVA 21 Méthode Rôle InetAddress getByName(String) Renvoie l'adresse Internet associée au nom d'hôte passé en paramètre. InetAddress[] getAllByName(String) Renvoie un tableau des adresses Internet associées au nom d'hôte. InetAddress getLocalHost() Renvoie l’IP de la machine locale. byte[] getAddress() Renvoie les 4 octets de l'adresse IP. String getHostAddress() Renvoie L’IP sous la forme d'une chaîne. String getHostName() Renvoie le nom du serveur. Cette classe offre des méthodes de manipulation des adresses Internet, elle est constituée  D’un objet de la classe InetAddress représente l’adresse Internet.  Des méthodes pour lire l’adresse, la comparer avec d’ autre ou la convertir en chaîne de caractères. A - La classe InetAddress A D R E S S A G E
  • 22. 13 janvier 2016 Programmation Réseau en JAVA 22 Les interfaces de connexions aux réseaux  La nouvelle classe NetworkInterface (J2SE 1.4) permet d'obtenir la liste des interfaces de connexion aux réseaux de la machine.  Une interface de connexion au réseau se caractérise par :  Un nom court,  Une désignation,  Une liste d'adresses IP. A D R E S S A G E
  • 23. 13 janvier 2016 Programmation Réseau en JAVA 23 B - La Classe NetworkInterface Méthode Description String getName() Renvoie le nom court de l'interface String getDisplayName() Renvoie la désignation de l'interface Enumeration getInetAddresses() Renvoie une énumération d'objet InetAddress contenant la liste des adresses IP associée à l'interface Les méthode utilisées dans cette classe sont: A D R E S S A G E
  • 24. 13 janvier 2016 Programmation Réseau en JAVA 24 V - Communication par Sockets (Couche Transport) Les sockets représentent l’outil de base pour la conception des protocoles et le développement des applications de communication tel que la messagerie, transmission des fichiers, vidéoconférence,….etc. deux protocoles sont utilisés: 1. Le protocole TCP a. ServerSocket b. Socket 2. Le protocole UDP a. DatagramSocket b. DatagramPacket c. MulticastSocket S O C K E T S
  • 25. 13 janvier 2016 Programmation Réseau en JAVA 25 1- Communication en mode Connecté(TCP)  La classe SocketServer  Elle est utilisée au coté serveur.  Elle attend simplement les appels des clients.  Chaque objet est associé à un port sur lequel il va attendre les connexions.  Pour chaque client, un thread est lancé pour assurer le dialogue avec lui.  La classe Socket  La classe contient les méthodes de création des flux d'entrée-sortie.  Les sockets constituent la base des communications sur le réseau.  La classe gère la connexion, l'envoi de données, la réception de données et la déconnexion. S O C K E T S
  • 26. 13 janvier 2016 Programmation Réseau en JAVA 26 A - La classe ServerSocket Constructeur Rôle ServerSocket() Constructeur par défaut. ServerSocket (int) Créer une Socket sur le port fourni en paramètre. ServerSocket (int, int) Créer une Socket sur le port avec la taille maximale de la file fourni en paramètre. La classe possède plusieurs constructeurs dont les principaux sont : Méthode Rôle Socket accept() Attendre une nouvelle connexion void close() Fermer la socket La classe SocketServer possède plusieurs méthodes : S O C K E T S
  • 27. 13 janvier 2016 Programmation Réseau en JAVA 27 Constructeur Rôle Server() Constructeur par défaut. ServerSocket (String, int) Créer une socket sur la machine dont le nom et le port sont fournis en paramètre. ServerSocket (InetAddress, int) Créer une socket sur la machine dont l'adresse et le port sont fournis en paramètre. Méthode Rôle InetAddress getInetAddress() Renvoie l'adresse IP distant. void close() Fermer la socket. InputStream getInputStream() Renvoie un flux en entrée pour recevoir les données de la socket. OutputStream getOutputStream() Renvoie un flux en sortie pour émettre les données de la socket. B - La classe Socket S O C K E T S
  • 28. 13 janvier 2016 Programmation Réseau en JAVA 28 Mécanisme de communication entre le Client et le Serveur par TCP S O C K E T S
  • 29. 13 janvier 2016 Programmation Réseau en JAVA 29 2 - Communication en mode non connecté (UDP) La classe DatagramSocket  Émission et réception des paquets à l’aide des méthodes Send() et Recieve(). La classe DatagramPacket  Émission et la réception des données d’un paquet à l’aide d’un tableau d’octets à l’aide de getData()et sendData(). La classe MulticastSocket  Diffusion des paquets sur un réseau. S O C K E T S
  • 30. 13 janvier 2016 Programmation Réseau en JAVA 30 A - La classe DatagramSocket Constructeur Rôle DatagramSocket() Créé une socket attachée à toutes les IP de la machine et avec un à des ports libres. DatagramSocket(int) Créé une socket attachée à toutes les IP avec un port précisé en paramètre. DatagramSocket (int, InetAddress) Créé une socket attachée à une adresse IP et un port précisé en paramètre. Méthode Rôle close() Fermeture de la Socket. receive(DatagramPacket) Recevoir des données. send(DatagramPacket) Envoyer des données. int getPort() Renvoie le port associé à la socket. S O C K E T S
  • 31. 13 janvier 2016 Programmation Réseau en JAVA 31 B - La classe DatagramPacket Constructeur Rôle DatagramPacket (byte tampon[], int length) Encapsule des paquets en réception dans un tampon. DatagramPacket (byte port[], int length, InetAddress adresse, int port) Encapsule des paquets en émission à destination d'une machine. La classe possède plusieurs constructeurs dont les principaux sont : Méthode Rôle InetAddress getAddress() Renvoie l'adresse du serveur. byte[] getData() Renvoie les données du paquet. int getPort Renvoie le port. int getLength () Renvoie la taille des données. setData(byte[]) Mettre à jour les données. S O C K E T S
  • 32. 13 janvier 2016 Programmation Réseau en JAVA 32 Mécanisme de communication entre le Client et le Serveur par UDP S O C K E T S
  • 33. 13 janvier 2016 Programmation Réseau en JAVA 33 C - La classe MulticastSocket Constructeur Rôle MulticastSocket() Pour l'envoi des paquets. MulticastSocket (int port) Pour la réception des paquets sur un port spécifié. La classe possède plusieurs constructeurs dont les principaux sont : Méthode Rôle void joinGroup (InetAddress mcastaddr) La jointure avec à un groupe de diffusion. leaveGroup (InetAddress mcastaddr) Abandonner le groupe de diffusion. La classe MulticastSocket possède plusieurs méthodes : S O C K E T S
  • 34. 13 janvier 2016 Programmation Réseau en JAVA 34 VI – Ressources Internet (URL) (Couche Application) Les classes du Java.net les plus important de la gestion et la manipulation des liens sont: La classe URL  Validation syntaxique des liens. La classe URLConnection  Établir des connexion vers des ressources. La classe URLEncoder  Utilitaire de codification (encodage) des URL. R E S S O U R C E S
  • 35. 13 janvier 2016 Programmation Réseau en JAVA 35 A - La classe URL La classe URL possède plusieurs méthodes pour obtenir les différents éléments qui composent l’URL, parmi ces méthodes: Si la syntaxe de l’URL n’est pas correcte; une exception de type MalformedURLException est signalée. Méthode Rôle getProtocol() Renvoie le protocole utilisé. getHost() Renvoie le nom du hôte. getPort() Renvoie le port utilisé. getFile() Renvoie le chemin complet du fichier. openConnection() Ouvrir une connexion vers la ressource. openStream() Ouvrir un flux de données en entrée pour lire la ressource. R E S S O U R C E S
  • 36. 13 janvier 2016 Programmation Réseau en JAVA 36 B - La classe URLConnection Cette classe établir une connexion vers une ressource désignée par une URL pour obtenir un flux de données ou des informations sur cette ressource. En plus de ça, la classe URLConnection offre des outils pour la lecture et l’écriture dans les ressources désignées . Méthode Rôle getInputStream() Renvoie un flux de données getContentLength() Renvoie la taille du flux. R E S S O U R C E S
  • 37. 13 janvier 2016 Programmation Réseau en JAVA 37 C - La classe URLEncoder Cette classe est une classe utilitaire qui propose la méthode statique encode() pour encoder une URL. Elle remplace notamment les espaces par un signe "+" et les caractères spéciaux par un signe "%" suivi du code du caractère. R E S S O U R C E S
  • 38. 13 janvier 2016 Programmation Réseau en JAVA 38 VII-Les exception liées au réseaux Le package java.net définit plusieurs exceptions qui permettant de gérer les différentes erreurs résultantes de l'exécution des ces classes et méthodes. Parmi ces exceptions: Exception Description BindException Port utilisé par une autre application. ConnectException Aucun serveur n'écoute sur le port précisé. MalformedURLException L'URL n'est pas valide NoRouteToHostException Un firewall empêche la connexion SocketTimeoutException Délai d'attente écoulé. UnknownHostException L'adresse de l'hôte n'a pas pu être trouvée E X C E P T I O N S
  • 39. 13 janvier 2016 Programmation Réseau en JAVA 39 Conclusion  En voie claire et net la puissance et la souplesse du langage JAVA dans divers domaines d’application et spécialement l’Internet et les réseaux interconnectées.  JAVA est actuellement prend l'avantage complet de l'Internet en dominant ces principales aspects :  Rechercher et visualisation des informations.  Transmission des données.  Jeux interactifs.  Chat et messagerie.  Commerce électronique.  Actualités.  Diffusion radio et TV.  Conférence en ligne.  …  En future, il semble que JAVA devient la plateforme la plus adéquate de tous type d'applications réseau et spécialement l'Internet. C O N C L I T I O N
  • 40. 13 janvier 2016 Programmation Réseau en JAVA 40 Bibliographie  Emmanuel Remy : Généralités sur java, http://emmanuel-remy.developpez.com.  Dr.Irène Charon: Java concepts et pratique, 2éme édition 2003.  Dr.Bruce Eckel: Penser en Java, 2éme édition 2000.  Package pédagogique multimédia, 8éme édition, Août 2006.  Jean Michel DOUDOUX : Développons en Java, http://www.jmdoudoux.fr/java/.  CISCO Academy American Network.  Elliotte Rusty Harold : Java Network Programming, 2nd Edition , O‘Reilly.  The Java Tutorials, : Custom Networking http://java.sun.com/docs/books/tutorial.  Gilles ROUSSEL : Programmation réseau avec JAVA.  Comment ça marche, http://commentcamarche.net.  Didier Donsez, Programmation Réseau, Université de Valenciennes.  Boukhalkhal Ahmed et Sahel Naima, Réalisation d’une application d’aide à l’administration sous Windows NT. B I B L I O G R A P H I E