SlideShare une entreprise Scribd logo
Atelier Réseaux & Sécurité
Chef : SAADA Mohamed
LES sockets
I. Définition de socket
II. Les types de sockets
 Socket Serveur
 Socket client
III. Démo
• Définition de socket
Un socket ou connecteur réseau est une entité logicielle qui permet à
un programmeur de développer une application utilisant des
protocoles réseaux pour l’échange des données.
Un socket est définie par deux entité:
Une adresse IP
Un port
• Présentation de l’atelier
On différencie entre deux catégories de socket :
Socket en mode connecté (TCP)
Socket en mode non connecté(UDP)
Le socket crée en mode connecté (TCP) donne naissance à l’architecture
client serveur, donc on distingue entre deux types de socket :
socket serveur et socket client.
Architecture client Serveur
• Types de socket
Socket Serveur
Le serveur va ouvrir un Socket pour écouter les connexions clients
Et à chaque connexion d’un nouveau client il établie un nouveau
Socket entre eux.
ServerSocket socketServeur = new ServerSocket(PORT);
Il doit spécifier le numéro de port sur le quel il accepte les connexions
Des clients.
A chaque nouveau client qui va essayer de se connecter au serveur en
Utilisant le même numéro de port :le serveur crée un Socket pour
Communiquer uniquement avec ce client
Socket socketClient = socketServeur.accept();
• Types de socket
• Socket Serveur
après la phase de l’établissement de connexion le client et le serveur
vont échanger des messages entre eux.
Donc à partir de ça on peut créer un service de chat entre les deux
entité de réseaux.
Voici la classe et les méthodes en java qui permettent de récupérer les
messages:
BufferedReader bufferedReader = new BufferedReader( new
InputStreamReader(socketClient.getInputStream()));
String question = bufferedReader.readLine();
La méthode readLine() permet de récupérer le message.
• Types de socket
Socket Serveur
Pour envoyer des messages vers le client ,java assure la classe
BufferedWriter .
L’instantiation de cette classe est comme suit:
BufferedWriter bufferedWriter = new BufferedWriter( new
OutputStreamWriter(socketClient.getOutputStream()));
Aprés on utilise ces deux méthodes pour l’envoie:
bufferedWriter.write(response);
bufferedWriter.flush();
Aprés l’échange des messages entre le client et le serveur ,ce dernier
Ferme la connexion en utlisant cette méthode:
socketClient.close();
• Types de socket
Socket Client
Le client établie une connexion avec le serveur en introduisant l’adresse IP
De serveur et le numéro de port de communication, voila la classe qui
Assure cette établissement de connexion:
Socket Client = new Socket(serveur, port);
Les méthodes d’écriture et de lecture des messages sont les mêmes
NB:le numéro de port est de préférence supérieur à 1024 car les ports
Inférieurs à 1024 sont réservés pour d’autres services comme Telnet,FTP,
Web..
• Types de socket
Socket Serveur
Serveur en thread:
Un thread désigne un point d'exécution dans le programme. En fait, le
langage Java est multi-thread, c'est à dire qu'il peut exécuter du code
à plusieurs endroits de façon indépendante.
Partant de cette technologie ,on peut utiliser la thread pour que le serveur
Puisse récupérer plusieurs clients en même temps.
Pour effectuer cela il faut que la classe serveur implémente l’interface
Runnable.
Aprés il faut écrire le code de serveur dans la méthode run().
Dans le programme principale on écrit ce bout de code :
Thread thread = new Thread(serveur);
thread.start();
• fin

Contenu connexe

Tendances

JNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory InterfacesJNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory Interfaces
benouini rachid
 
Methodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locauxMethodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locaux
Ines Kechiche
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
Bachir Benyammi
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
ENSET, Université Hassan II Casablanca
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
Tbatou sanae
 
Java RMI
Java RMIJava RMI
Java RMI
Heithem Abbes
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures reparties
Mariem ZAOUALI
 
Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Appels de procédures distants (RPC)
Appels de procédures distants (RPC)
Heithem Abbes
 
Java Socket Programming
Java Socket ProgrammingJava Socket Programming
Java Socket Programming
Vipin Yadav
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
ENSET, Université Hassan II Casablanca
 
Tp soa avec talend esb
Tp soa avec talend esbTp soa avec talend esb
Tp soa avec talend esb
Alahyane Ahmed
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisation
Lilia Sfaxi
 
Rapport tp2 j2ee
Rapport tp2 j2eeRapport tp2 j2ee
Rapport tp2 j2ee
Soukaina Boujadi
 
Alphorm.com Formation Cisco ICND2
Alphorm.com Formation Cisco ICND2Alphorm.com Formation Cisco ICND2
Alphorm.com Formation Cisco ICND2
Alphorm
 
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
Amir Souissi
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
ENSET, Université Hassan II Casablanca
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
ENSET, Université Hassan II Casablanca
 
Développement informatique : Programmation réseau
Développement informatique : Programmation réseauDéveloppement informatique : Programmation réseau
Développement informatique : Programmation réseau
ECAM Brussels Engineering School
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
CHOUAIB EL HACHIMI
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
ENSET, Université Hassan II Casablanca
 

Tendances (20)

JNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory InterfacesJNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory Interfaces
 
Methodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locauxMethodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locaux
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
 
Java RMI
Java RMIJava RMI
Java RMI
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures reparties
 
Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Appels de procédures distants (RPC)
Appels de procédures distants (RPC)
 
Java Socket Programming
Java Socket ProgrammingJava Socket Programming
Java Socket Programming
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Tp soa avec talend esb
Tp soa avec talend esbTp soa avec talend esb
Tp soa avec talend esb
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisation
 
Rapport tp2 j2ee
Rapport tp2 j2eeRapport tp2 j2ee
Rapport tp2 j2ee
 
Alphorm.com Formation Cisco ICND2
Alphorm.com Formation Cisco ICND2Alphorm.com Formation Cisco ICND2
Alphorm.com Formation Cisco ICND2
 
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Développement informatique : Programmation réseau
Développement informatique : Programmation réseauDéveloppement informatique : Programmation réseau
Développement informatique : Programmation réseau
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 

En vedette

Chat application in java using swing and socket programming.
Chat application in java using swing and socket programming.Chat application in java using swing and socket programming.
Chat application in java using swing and socket programming.
Kuldeep Jain
 
Gwt jetty et sources de données
Gwt   jetty et sources de donnéesGwt   jetty et sources de données
Gwt jetty et sources de données
Franck SIMON
 
JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤
Yuichi Sakuraba
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
Saber LAJILI
 
Hacking Tomcat
Hacking TomcatHacking Tomcat
Hacking Tomcat
guestc27cd9
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using java
UC San Diego
 
Autumn collection JavaOne 2014
Autumn collection JavaOne 2014Autumn collection JavaOne 2014
Autumn collection JavaOne 2014
José Paumard
 
Network protocols and Java programming
Network protocols and Java programmingNetwork protocols and Java programming
Network protocols and Java programming
difatta
 
Websockets and SockJS, Real time chatting
Websockets and SockJS, Real time chattingWebsockets and SockJS, Real time chatting
Websockets and SockJS, Real time chatting
University of Alabama at Birmingham
 
Le Réseau et Java
Le Réseau et JavaLe Réseau et Java
Le Réseau et Java
Korteby Farouk
 
50 new things you can do with java 8
50 new things you can do with java 850 new things you can do with java 8
50 new things you can do with java 8
José Paumard
 
Java 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJava 8-streams-collectors-patterns
Java 8-streams-collectors-patterns
José Paumard
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'Android
Houssem Lahiani
 
50 nouvelles choses que l'on peut faire avec Java 8
50 nouvelles choses que l'on peut faire avec Java 850 nouvelles choses que l'on peut faire avec Java 8
50 nouvelles choses que l'on peut faire avec Java 8
José Paumard
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 Presentation
Tomcat Expert
 
SockJS Intro
SockJS IntroSockJS Intro
SockJS Intro
Ngoc Dao
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
Yann Caron
 
APACHE TOMCAT
APACHE TOMCATAPACHE TOMCAT
APACHE TOMCAT
Rachid NID SAID
 
Spring Boot & WebSocket
Spring Boot & WebSocketSpring Boot & WebSocket
Spring Boot & WebSocket
Ming-Ying Wu
 
API Asynchrones en Java 8
API Asynchrones en Java 8API Asynchrones en Java 8
API Asynchrones en Java 8
José Paumard
 

En vedette (20)

Chat application in java using swing and socket programming.
Chat application in java using swing and socket programming.Chat application in java using swing and socket programming.
Chat application in java using swing and socket programming.
 
Gwt jetty et sources de données
Gwt   jetty et sources de donnéesGwt   jetty et sources de données
Gwt jetty et sources de données
 
JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Hacking Tomcat
Hacking TomcatHacking Tomcat
Hacking Tomcat
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using java
 
Autumn collection JavaOne 2014
Autumn collection JavaOne 2014Autumn collection JavaOne 2014
Autumn collection JavaOne 2014
 
Network protocols and Java programming
Network protocols and Java programmingNetwork protocols and Java programming
Network protocols and Java programming
 
Websockets and SockJS, Real time chatting
Websockets and SockJS, Real time chattingWebsockets and SockJS, Real time chatting
Websockets and SockJS, Real time chatting
 
Le Réseau et Java
Le Réseau et JavaLe Réseau et Java
Le Réseau et Java
 
50 new things you can do with java 8
50 new things you can do with java 850 new things you can do with java 8
50 new things you can do with java 8
 
Java 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJava 8-streams-collectors-patterns
Java 8-streams-collectors-patterns
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'Android
 
50 nouvelles choses que l'on peut faire avec Java 8
50 nouvelles choses que l'on peut faire avec Java 850 nouvelles choses que l'on peut faire avec Java 8
50 nouvelles choses que l'on peut faire avec Java 8
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 Presentation
 
SockJS Intro
SockJS IntroSockJS Intro
SockJS Intro
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
 
APACHE TOMCAT
APACHE TOMCATAPACHE TOMCAT
APACHE TOMCAT
 
Spring Boot & WebSocket
Spring Boot & WebSocketSpring Boot & WebSocket
Spring Boot & WebSocket
 
API Asynchrones en Java 8
API Asynchrones en Java 8API Asynchrones en Java 8
API Asynchrones en Java 8
 

Similaire à Formation1 sockets

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdfRAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
Souf212
 
Support Cours de Python et Réseaux.pptx
Support Cours de Python et Réseaux.pptxSupport Cours de Python et Réseaux.pptx
Support Cours de Python et Réseaux.pptx
ssuserbd075f
 
Les sockets.pptx
Les sockets.pptxLes sockets.pptx
8-socket.pdf
8-socket.pdf8-socket.pdf
8-socket.pdf
StyvePola1
 
173544 introduction-aux-sockets
173544 introduction-aux-sockets173544 introduction-aux-sockets
173544 introduction-aux-sockets
naimanaima1
 
module_I6_Sockets.pdf
module_I6_Sockets.pdfmodule_I6_Sockets.pdf
module_I6_Sockets.pdf
Patiento Del Mar
 
application SSL_TLS.pptx
application SSL_TLS.pptxapplication SSL_TLS.pptx
application SSL_TLS.pptx
kohay75604
 
Chap7_JavaNet.pdf
Chap7_JavaNet.pdfChap7_JavaNet.pdf
Chap7_JavaNet.pdf
Patiento Del Mar
 
SSL.TLS.pptx
SSL.TLS.pptxSSL.TLS.pptx
SSL.TLS.pptx
kohay75604
 
Développement d'un client MQTT sur Raspberry Pi
Développement d'un client MQTT sur Raspberry PiDéveloppement d'un client MQTT sur Raspberry Pi
Développement d'un client MQTT sur Raspberry Pi
Chiheb Ameur ABID
 
Soap
SoapSoap
Chapitre-4-Programmation-réseau-avec-les-sockets.pdf
Chapitre-4-Programmation-réseau-avec-les-sockets.pdfChapitre-4-Programmation-réseau-avec-les-sockets.pdf
Chapitre-4-Programmation-réseau-avec-les-sockets.pdf
YoussefJamma
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
dihiaselma
 
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbWebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
HINDGUENDOUZ
 
Etude de la WIFI sur NS2
Etude de la WIFI sur NS2Etude de la WIFI sur NS2
Etude de la WIFI sur NS2
Chiheb Ouaghlani
 
Oauth2 & OpenID Connect
Oauth2 & OpenID ConnectOauth2 & OpenID Connect
Oauth2 & OpenID Connect
Pascal Flamand
 
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
Philippe Geiger
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
Lilia Sfaxi
 

Similaire à Formation1 sockets (20)

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdfRAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
 
Support Cours de Python et Réseaux.pptx
Support Cours de Python et Réseaux.pptxSupport Cours de Python et Réseaux.pptx
Support Cours de Python et Réseaux.pptx
 
Les sockets.pptx
Les sockets.pptxLes sockets.pptx
Les sockets.pptx
 
8-socket.pdf
8-socket.pdf8-socket.pdf
8-socket.pdf
 
173544 introduction-aux-sockets
173544 introduction-aux-sockets173544 introduction-aux-sockets
173544 introduction-aux-sockets
 
module_I6_Sockets.pdf
module_I6_Sockets.pdfmodule_I6_Sockets.pdf
module_I6_Sockets.pdf
 
application SSL_TLS.pptx
application SSL_TLS.pptxapplication SSL_TLS.pptx
application SSL_TLS.pptx
 
Chap7_JavaNet.pdf
Chap7_JavaNet.pdfChap7_JavaNet.pdf
Chap7_JavaNet.pdf
 
SSL.TLS.pptx
SSL.TLS.pptxSSL.TLS.pptx
SSL.TLS.pptx
 
Développement d'un client MQTT sur Raspberry Pi
Développement d'un client MQTT sur Raspberry PiDéveloppement d'un client MQTT sur Raspberry Pi
Développement d'un client MQTT sur Raspberry Pi
 
Soap
SoapSoap
Soap
 
Chapitre-4-Programmation-réseau-avec-les-sockets.pdf
Chapitre-4-Programmation-réseau-avec-les-sockets.pdfChapitre-4-Programmation-réseau-avec-les-sockets.pdf
Chapitre-4-Programmation-réseau-avec-les-sockets.pdf
 
Chap7 java net
Chap7 java netChap7 java net
Chap7 java net
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbWebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
Etude de la WIFI sur NS2
Etude de la WIFI sur NS2Etude de la WIFI sur NS2
Etude de la WIFI sur NS2
 
Oauth2 & OpenID Connect
Oauth2 & OpenID ConnectOauth2 & OpenID Connect
Oauth2 & OpenID Connect
 
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 

Formation1 sockets

  • 1. Atelier Réseaux & Sécurité Chef : SAADA Mohamed LES sockets I. Définition de socket II. Les types de sockets  Socket Serveur  Socket client III. Démo
  • 2. • Définition de socket Un socket ou connecteur réseau est une entité logicielle qui permet à un programmeur de développer une application utilisant des protocoles réseaux pour l’échange des données. Un socket est définie par deux entité: Une adresse IP Un port
  • 3. • Présentation de l’atelier On différencie entre deux catégories de socket : Socket en mode connecté (TCP) Socket en mode non connecté(UDP) Le socket crée en mode connecté (TCP) donne naissance à l’architecture client serveur, donc on distingue entre deux types de socket : socket serveur et socket client.
  • 5. • Types de socket Socket Serveur Le serveur va ouvrir un Socket pour écouter les connexions clients Et à chaque connexion d’un nouveau client il établie un nouveau Socket entre eux. ServerSocket socketServeur = new ServerSocket(PORT); Il doit spécifier le numéro de port sur le quel il accepte les connexions Des clients. A chaque nouveau client qui va essayer de se connecter au serveur en Utilisant le même numéro de port :le serveur crée un Socket pour Communiquer uniquement avec ce client Socket socketClient = socketServeur.accept();
  • 6. • Types de socket • Socket Serveur après la phase de l’établissement de connexion le client et le serveur vont échanger des messages entre eux. Donc à partir de ça on peut créer un service de chat entre les deux entité de réseaux. Voici la classe et les méthodes en java qui permettent de récupérer les messages: BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(socketClient.getInputStream())); String question = bufferedReader.readLine(); La méthode readLine() permet de récupérer le message.
  • 7. • Types de socket Socket Serveur Pour envoyer des messages vers le client ,java assure la classe BufferedWriter . L’instantiation de cette classe est comme suit: BufferedWriter bufferedWriter = new BufferedWriter( new OutputStreamWriter(socketClient.getOutputStream())); Aprés on utilise ces deux méthodes pour l’envoie: bufferedWriter.write(response); bufferedWriter.flush(); Aprés l’échange des messages entre le client et le serveur ,ce dernier Ferme la connexion en utlisant cette méthode: socketClient.close();
  • 8. • Types de socket Socket Client Le client établie une connexion avec le serveur en introduisant l’adresse IP De serveur et le numéro de port de communication, voila la classe qui Assure cette établissement de connexion: Socket Client = new Socket(serveur, port); Les méthodes d’écriture et de lecture des messages sont les mêmes NB:le numéro de port est de préférence supérieur à 1024 car les ports Inférieurs à 1024 sont réservés pour d’autres services comme Telnet,FTP, Web..
  • 9. • Types de socket Socket Serveur Serveur en thread: Un thread désigne un point d'exécution dans le programme. En fait, le langage Java est multi-thread, c'est à dire qu'il peut exécuter du code à plusieurs endroits de façon indépendante. Partant de cette technologie ,on peut utiliser la thread pour que le serveur Puisse récupérer plusieurs clients en même temps. Pour effectuer cela il faut que la classe serveur implémente l’interface Runnable. Aprés il faut écrire le code de serveur dans la méthode run(). Dans le programme principale on écrit ce bout de code : Thread thread = new Thread(serveur); thread.start();