SlideShare une entreprise Scribd logo
1  sur  10
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

Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaMariem ZAOUALI
 
Chapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptxChapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptxAymenAyari10
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdfKanySidibe
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures repartiesMariem ZAOUALI
 
Admin reseaux sous linux cours 3
Admin reseaux sous linux   cours 3Admin reseaux sous linux   cours 3
Admin reseaux sous linux cours 3Stephen Salama
 
C7 Réseaux : couche transport
C7 Réseaux : couche transportC7 Réseaux : couche transport
C7 Réseaux : couche transportPRONETIS
 
Présentation de RMI Java
Présentation de RMI JavaPrésentation de RMI Java
Présentation de RMI JavaZakaria Bouazza
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
Cours réseaux informatiques iia2
Cours réseaux informatiques  iia2Cours réseaux informatiques  iia2
Cours réseaux informatiques iia2Amel Morchdi
 
Iot juin 2017
Iot juin 2017Iot juin 2017
Iot juin 2017SinGuy
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chatTbatou sanae
 

Tendances (20)

Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corba
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Chapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptxChapitre 1 LES SERVICES RESEAUX.pptx
Chapitre 1 LES SERVICES RESEAUX.pptx
 
Normes IEEE
Normes IEEENormes IEEE
Normes IEEE
 
Java RMI
Java RMIJava RMI
Java RMI
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures reparties
 
Le protocole stp
Le protocole stpLe protocole stp
Le protocole stp
 
Admin reseaux sous linux cours 3
Admin reseaux sous linux   cours 3Admin reseaux sous linux   cours 3
Admin reseaux sous linux cours 3
 
C7 Réseaux : couche transport
C7 Réseaux : couche transportC7 Réseaux : couche transport
C7 Réseaux : couche transport
 
Présentation de RMI Java
Présentation de RMI JavaPrésentation de RMI Java
Présentation de RMI Java
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Cours réseaux informatiques iia2
Cours réseaux informatiques  iia2Cours réseaux informatiques  iia2
Cours réseaux informatiques iia2
 
Iot juin 2017
Iot juin 2017Iot juin 2017
Iot juin 2017
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
 
Igl cours 3 - introduction à uml
Igl   cours 3 - introduction à umlIgl   cours 3 - introduction à uml
Igl cours 3 - introduction à uml
 

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
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
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éesFranck 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_vers2015Saber LAJILI
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using javaUC San Diego
 
Autumn collection JavaOne 2014
Autumn collection JavaOne 2014Autumn collection JavaOne 2014
Autumn collection JavaOne 2014José Paumard
 
Network protocols and Java programming
Network protocols and Java programmingNetwork protocols and Java programming
Network protocols and Java programmingdifatta
 
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 8José Paumard
 
Java 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJava 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJosé 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'AndroidHoussem 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 8José Paumard
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationTomcat Expert
 
SockJS Intro
SockJS IntroSockJS Intro
SockJS IntroNgoc Dao
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionYann Caron
 
Spring Boot & WebSocket
Spring Boot & WebSocketSpring Boot & WebSocket
Spring Boot & WebSocketMing-Ying Wu
 

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.
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
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
 

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.pdfSouf212
 
173544 introduction-aux-sockets
173544 introduction-aux-sockets173544 introduction-aux-sockets
173544 introduction-aux-socketsnaimanaima1
 
application SSL_TLS.pptx
application SSL_TLS.pptxapplication SSL_TLS.pptx
application SSL_TLS.pptxkohay75604
 
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 PiChiheb Ameur ABID
 
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.pdfYoussefJamma
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécuritédihiaselma
 
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbWebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbHINDGUENDOUZ
 
Oauth2 & OpenID Connect
Oauth2 & OpenID ConnectOauth2 & OpenID Connect
Oauth2 & OpenID ConnectPascal 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é, PGeigerPhilippe Geiger
 

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
 
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
 
Développement informatique : Programmation réseau
Développement informatique : Programmation réseauDéveloppement informatique : Programmation réseau
Développement informatique : Programmation réseau
 
Chap7 java net
Chap7 java netChap7 java net
Chap7 java net
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
Rapport tp2 j2ee
Rapport tp2 j2eeRapport tp2 j2ee
Rapport tp2 j2ee
 
.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
 

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();