Formation1 sockets

334 vues

Publié le

All About Sockets

Publié dans : Mobile
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
334
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
26
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Formation1 sockets

  1. 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. 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. 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.
  4. 4. Architecture client Serveur
  5. 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. 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. 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. 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. 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();
  10. 10. • fin

×