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

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
 
JNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory InterfacesJNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory Interfacesbenouini rachid
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Fonctionnalités et protocoles des couches applicatives
Fonctionnalités et protocoles des couches applicativesFonctionnalités et protocoles des couches applicatives
Fonctionnalités et protocoles des couches applicativesfadelaBritel
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures repartiesMariem ZAOUALI
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
Mise en place d'un wifi securise
Mise en place d'un wifi securiseMise en place d'un wifi securise
Mise en place d'un wifi securiseJUNIOR SORO
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Connexion point à point (ppp, hdlc)
Connexion point à point (ppp, hdlc)Connexion point à point (ppp, hdlc)
Connexion point à point (ppp, hdlc)EL AMRI El Hassan
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chatTbatou sanae
 

Tendances (20)

Java RMI
Java RMIJava RMI
Java RMI
 
cours DHCP IPv4 et IPv6
cours DHCP IPv4 et IPv6cours DHCP IPv4 et IPv6
cours DHCP IPv4 et IPv6
 
Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Appels de procédures distants (RPC)
Appels de procédures distants (RPC)
 
Le protocole stp
Le protocole stpLe protocole stp
Le protocole stp
 
JNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory InterfacesJNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory Interfaces
 
Snmp
SnmpSnmp
Snmp
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Fonctionnalités et protocoles des couches applicatives
Fonctionnalités et protocoles des couches applicativesFonctionnalités et protocoles des couches applicatives
Fonctionnalités et protocoles des couches applicatives
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures reparties
 
Développement informatique : Programmation réseau
Développement informatique : Programmation réseauDéveloppement informatique : Programmation réseau
Développement informatique : Programmation réseau
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Mise en place d'un wifi securise
Mise en place d'un wifi securiseMise en place d'un wifi securise
Mise en place d'un wifi securise
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
radius
radiusradius
radius
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Connexion point à point (ppp, hdlc)
Connexion point à point (ppp, hdlc)Connexion point à point (ppp, hdlc)
Connexion point à point (ppp, hdlc)
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
 

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
 
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
 
SSL/TSL Protocols
SSL/TSL ProtocolsSSL/TSL Protocols
SSL/TSL Protocols
 

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