Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Slides:



Advertisements
Présentations similaires
Quelques classes. La classe Object Il s agit de la classe principale, elle contient les fonctions : protected Object clone() qui crée et retourne une.
Advertisements

Cours de C – Séance dexercices 19 Octobre Objectif Ecrire un serveur HTTP Sans gérer la partie réseau, on utilisera un utilitaire pour cela Serveur.
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 8 Langage HTML.
Sérialisation des objets
Flots et Sérialisation des objets
Programmation Réseaux Illustration : Les Sockets en Java Anne-Marie Déry À travailler seuls Concepts généraux Mise en œuvre Java.
1 I. Bus logiciel ? Mireille Blay-Fornarino Daprès et Sacha Et (cf. références en bas.
Les Sockets et Java Cours Harmonisation Anne-Marie Déry.
Programmation Réseaux Illustration : Les Sockets en Java Anne-Marie Déry À travailler seuls Concepts généraux Mise en œuvre Java.
TP 7.1 synchronized et join Écrire un programme Java qui crée 1000 threads et maintient un compteur nb du nombre de threads créés jusque-là. Le thread.
Mode Message Asynchrone (interface Socket)
Voisin-Polian : Introduction à Java 1 Introduction à Java - les flots - Frédéric VOISIN – Nicole POLIAN FIIFO - « Remise à Niveau »
Plan du cours La sérialisation: – comment stocker et restaurer les Objets? Les interfaces graphiques et la programmation évènementielle. –Comment concevoir.
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
Le File Transfer Protocol
Servlet JAVA.
Common Gateway Interface
SSL (Secure Sockets Layer) (couche de sockets sécurisée)
COURS DE PROGRAMMATION ORIENTEE OBJET :
Labview Programmation réseau Communication par sockets
Les instructions PHP pour l'accès à une base de données MySql
1 Cours JAVA / Y.Laborde Java : Les FLUX de données Les flux de données introduction les flux binaires les flux binaires de sortie (FBS) les flux binaires.
Le protocole FTP.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Système d’Exploitation
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Les fichiers binaires en C++
Programmation Orienté Objet applications au langage Java
IFT 6800 Atelier en Technologies d’information
COURS DE PROGRAMMATION ORIENTEE OBJET :
1212 Entrée et sortie de fichiers Objectifs À la fin de ce cours, vous serez capables de : • Lire à partir de la console • Écrire sur la console.
J201 (JOC) Java Avancé juin 2007 ~ Brigitte Groléas ~
VAL3 Ethernet - Sockets A partir VAL 3 Version 4.x.
1 Fichers Binaires, Accès Direct et Objets. 2 Données binaires. Il s'agit ici de lire et écrire des données binaires par opposition à du texte. Pour ce.
Développement d’application client/serveur
Factory Design Patterns. Contents Factory patterns: principesFactory patterns: principes The Factory Method patternThe Factory Method pattern The Abstract.
Structures de données avancées : Concepts réseaux et protocole de communication. D. E ZEGOUR Institut National d ’Informatique.
Labo 4 : Les structures et les entrées et sorties
Mastère MIAGE, 2006 Systèmes Distribués Fabrice Huet
Cours Les flux ou streams. Cours 162 Flux : objet possédant des méthodes capables de lire ou écrire des flots d’octets sur tout support (mémoire,
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 1 – Objets et Classes Master 1 SIGLIS1Java Lecteur - Chapitre 1 Objets et classes.
Entrées / Sorties.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 3 – Classes et objets en Java Master 1 SIGLIS1 Java Lecteur - Chapitre 3 Classes et objets en Java.
Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE DEUST AMMILoR.
Les sockets.
Master 1 SIGLIS Ingénierie des réseaux Stéphane Tallard Chapitre 4 – Couche réseau Master 1 SIGLIS1 Ingénierie des réseaux - Chapitre 4 La couche réseau.
Schéma de conception Factory Method Exemple Sylvain Giroux.
Couche transport du modèle OSI
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
1 Chapitre III (~70 transparents) Compléments. 2 Au sommaire de ce chapitre 1. Les fichiers Les classes utilitaires
Fichier et Stream d’Entrée-Sortie IFT1025, Programmation 2 Jian-Yun Nie Version court par Douglas Eck; Version
Introduction à la programmation objet avec java
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
Service de vidéo à la demande Projet Tutoré : Groupe C3 Université Paris 5.
Ingénierie des réseaux
Fonctionnalité et protocole des couches applicatives
Architecture Client/Serveur
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Ingénierie des réseaux - Chapitre 1 Généralités 1 Master 1 SIGLIS Un texte ici.
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
TRAITEMENT D’IMAGES Semaine 05. AGENDA DE LEÇON Documentation officielle d’OpenCV Écrire du texte Source vidéo TP1.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
Java Remote Method Invocation
Client/Server Socket. Client/Serveur.
Java et sockets TCP.
STREAMS (et fichiers).
Lecture/Écriture de fichiers (I/O)
Transcription de la présentation:

Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java Master 1 - SIGLIS Master 1 SIGLIS Ingénierie des réseaux Stéphane Tallard Chapitre 2 bis – Les sockets en Java Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java Master 1 - SIGLIS Rappel : les sockets Les processus reçoivent /envoient des messages à travers la couche réseau La socket est une interface sur les services session définis par l’OS: Quand il émet, le processus utilise les services de transport définis par l’OS La couche de transport de l’OS convoie le message vers l’OS du processus recevant. L’API permet : Le choix du protocole de transport Le paramétrage de la communication Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Le client socket TCP Lecture Ecriture Master 1 - SIGLIS Instanciation de la socket Socket maSocket = new Socket(host , port ) ; Obtenir l’inputStream associé à la socket InputStream is = maSocket.getInputStream() Lire is.read() Traitement …. Fermer la socket maSocket.close() Instanciation de la socket Socket maSocket = new Socket(host , port ) ; Obtenir l’outputStream associé à la socket OutputStream os = maSocket.getOutputStream() écrire os.write(data) / os.flush() Fermer la socket maSocket.close() Host est de type String Port est de type entier Il y a une outputstream et une inputstream attachée à la socket Avec java.io on peut faire mieux ! Fermeture de la socket Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Le serveur socket TCP Lecture Ecriture Master 1 - SIGLIS Instanciation de la socket Socket maSocket = new SocketServer(host , port ) ; Attente d’une demande de connexion maSocket.accept() Obtenir l’inputStream associé à la socket InputStream os = maSocket.getInputStream() Lire os.read() Traitement …. Fermer la socket maSocket.close() Instanciation de la socket Socket maSocket = new SocketServer(port ) ; Attente d’une demande de connexion maSocket.accept() Obtenir l’outputStream associé à la socket OutputStream os = maSocket.getOutputStream() Ecrire os.write(data) / os.flush() Fermer la socket maSocket.close() Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java Master 1 - SIGLIS Un serveur avec les sockets Si le serveur ne se termine pas après chaque traitement de requête, il faut le faire boucler à l’infini. Si le serveur peut traiter plusieurs requêtes à la fois : il faut utiliser des threads pour traiter chaque requête indépendamment Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java Master 1 - SIGLIS Le package java.io Reader BufferedReader StringReader CharArrayReader … InputStream FileInputStream ByteArrayInputStream ObjectInputStream PipedInputStream Writer BufferedWriter CharArrayWriter FileWriter PrintWriter OutputStream FileOutputStream ByteArrayOutputStream ObjectOutputStream PipedOutputStream TEXTE BINAIRE LECTURE ECRITURE InputStreamReader OutputStreamReader Pour lire du texte depuis une chaîne de caractères  StringReader Pour lire un flux binaire depuis un fichier  FileInputStream Pour écrire un objet dans un flux binaire  ObjectOutputStream Pour lire du texte de façon optimisée (en utilisant un buffer)  BufferedWriter OutputStreamReader et InputStreamreader permettent de convertir des données de texte en binaire Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java Master 1 - SIGLIS Les classes d’interface de java.io LECTURE ECRITURE Reader int read() int read(char[] cbuf) void close() Writer void write(char[] cbuf) Void write(String str) Void write(int c) void close() TEXTE InputStream int read() int read(byte[] b) void close() OutputStream int write(int b) int write(byte[] b) void close() BINAIRE InputStream, OutputStream, Reader et Writer sont des interfaces Elles spécifient les méthodes que doivent implémenter leurs sous-classes. Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java Master 1 - SIGLIS Le concept du décorateur Le decorateur est un « design pattern » : une forme de conception fréquente Le terme « Décorateur » désigne une forme de conception fréquente Un décorateur « décore » une classe Le décorateur en offre une interface adaptée au traitement que l’on doit faire en s’appuyant sur les services de la classe décorée. Classe Décorateur Classe Décorée Programmeur Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java Master 1 - SIGLIS Exemple d’utilisation du pattern Decorator avec java.io FileReader fr = new FileReader("c:/Mes documents/User/monfichier.text") ; BufferedReader reader = new BufferedReader(fr) ; BufferedReader:reader FileReader:fr Programmeur Décorateur Classe décorée Le lien entre les deux objets est fait au moment de l’instanciation Dans l’exemple, BufferedReader optimise la lecture en utilisant un buffer de lecture. Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java Master 1 - SIGLIS java.io et les décorateurs Le pattern du décorateur permet de combiner les classes selon le traitement que l’on veut faire. On va l’utiliser pour les Sockets. Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java Master 1 - SIGLIS Exercice Ecrire un client et un serveur echo le client envoie une chaîne de caractère au serveur et s’arrête Le serveur affiche la chaîne sur la console et s’arrête. Version 1 : Le client et le serveur sont sur la même machine Version 2 : Le client se lance en passant l’adresse Ip du serveur Version 3 : Le client se lance en passant l’adresse Ip ou le nom du serveur (faire des recherches sur la classe INetAdress). Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java

Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java Master 1 - SIGLIS Projet La socket calculatrice Master 1 SIGLIS Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java