CEG3585/CEG3555 Tutorat 2 Hi ver 2013.

Slides:



Advertisements
Présentations similaires
GEF 435 Principes des systèmes dexploitation Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
Advertisements

Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 8 Langage HTML.
Sérialisation des objets
Cours réseaux Essi2 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.
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.
Applications distribuées et parallèlisme La communication ne doit pas rester bloquée pour un client.
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)
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
(Classes prédéfinies – API Java)
Plan du cours La sérialisation: – comment stocker et restaurer les Objets? Les interfaces graphiques et la programmation évènementielle. –Comment concevoir.
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
2-Generalites FTP:Protocole De transfert de fichiers sur un réseau TCP/IP. Permet de copier des fichiers depuis ou vers un autre ordinateur du reseaux,d'administrer.
4.La connexion de données 4-1.Présentation 4-2.Le mode actif 4-3.Le mode passif 4-4.Les commandes.

JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.
Servlet JAVA.
FLSI602 Génie Informatique et Réseaux
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
COURS DE PROGRAMMATION ORIENTEE OBJET :
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Architecture Réseau Modèle OSI et TCP.
Analyse des protocoles de la couche application
Labview Programmation réseau Communication par sockets
JDBC ou comment manipuler une base de données en Java ?
Le protocole FTP.
Système d’Exploitation
.Net Remoting.
Communication entre processus - TCP From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001 Chapitre.
Les relations clients - serveurs
1111 Gestion des exceptions Objectifs À la fin de ce cours, vous serez capables de : • Expliquer les concepts de base de la gestion des exceptions.
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.
Vue d'ensemble Configuration d'adresses IP
VAL3 Ethernet - Sockets A partir VAL 3 Version 4.x.
Technique de programmation : Le client/Serveur de traitements.
Développement d’application client/serveur
02 - Le modèle OSI* *OSI = Open Systems Interconnections.
Structures de données avancées : Concepts réseaux et protocole de communication. D. E ZEGOUR Institut National d ’Informatique.
Développement d’application client/serveur
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 6 – Exceptions.
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/SEG3555 TUTORAT 3 Été 2014.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 10 Accès distant aux bases de données.
Advisor Advanced IP Présentation Télémaintenance Télésurveillance.
Entrées / Sorties.
Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE DEUST AMMILoR.
Les sockets.
http 1.1.  connexion persistante Browser Mozilla Firefox Adresse ip.
Schéma de conception Factory Method Exemple Sylvain Giroux.
Développement d’application Web.  Internet  WWW  Client/Serveur  HTTP.
Couche transport du modèle OSI
Gestion d’accès aux centrales nucléaires françaises
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java
Introduction à la programmation objet avec java
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Ingénierie des réseaux
Fonctionnalité et protocole des couches applicatives
Architecture Client/Serveur
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Java Remote Method Invocation
Synthèse: une journée dans la vie d'une requête Web 5: DataLink Layer5-1.
Client/Server Socket. Client/Serveur.
Sockets/rmi - Y. Bekkers1 Applications réparties en Java Paquetage java.net – Sockets Objets distants transparents – RMI Yves Bekkers.
Transcription de la présentation:

CEG3585/CEG3555 Tutorat 2 Hi ver 2013

Architecture TCP/IP Les applications sont développées avec le socket API (en Java les classes Socket et ServerSocket) Adresse socket: Port TCP Adresse IP Les deux adresses sockets de chaque bout d’une connexion servent à identifier la connexion

La programmation “socket” Les sockets sont des interfaces qui peuvent communiquer entre elles en s’interconnectant à travers un réseau. Une communication de réseau peut se réaliser en échangeant des données de messages transmis entre des sockets. Les messages sont mis en queue au niveau de la socket transmetteur jusqu’à ce que le protocole du réseau les expédie. A leur arrivée, les messages sont mis en file au niveau de la socket réceptrice jusqu’à ce que processus de réception les traite. http://www.troubleshooters.com/codecorn/sockets/

La programmation socket Une socket Internet est identifiée par le système opératoire comme une combinaison unique de : Protocole (TCP, UDP ou IP à l’état pur) Adresse socket locale Une adresse local IP Un numéro de port local Adresse socket du nœud distant (Uniquement pour de socket TCP établies) Une adresse éloignée IP Un numéro de port éloignée Donc dans le cas du TCP, les deux adresses sockets http://en.wikipedia.org/wiki/Internet_socket

La programmation socket Modèle Client-Serveur Un processus de logiciel client peut initier une session de communication pendant que le serveur attend des requêtes de clients. La plupart des applications d’entreprises écrites aujourd’hui utilisent le modèle Client-Serveur. Il en est de même pour les protocoles d’applications principales de l’internet tels que HTTP, SMTP, Telnet, DNS, etc. http://en.wikipedia.org/wiki/Client-server

Modèle client-serveur avec sockets en Java *L’objet ServerSocket serve à établir des connexions (reponds aux appels) pour ensuite laisser un objet Socket la gestion de chaque connexion Application Seveur Application Client Application Client Objet ServerSocket Objet Socket Objet Socket Objet Socket Objet Socket 120 120 4444 4444 4444 TCP TCP TCP IP IP IP Réseau

La programmation socket Les commandes (Open-Read-Write-Close) : Avant que le processus d’un usager puisse réaliser des opérations de réseautage, il lui faut déclarer une socket pour spécifier et obtenir les permissions de communication du réseau. Une fois la socket créée, le processus de l’’usager doit faire appel à d’autres commandes (Lire ou Ecrire) pour échanger des données. Une fois toutes les opérations de transfert de données complétées, le processus de l’usager doit utiliser la commande (Close) pour informer le système opératoire de la fin de la communication .

Java Socket – Connexion (Open) Client La classe Socket Cette classe réalise une socket client (appelée "socket"). public Socket(String adresse, int port) throws IOException adresse: - l’adresse IP (ou nom d’hôte). port – le numéro de port du serveur. Le port local sera déterminé par le system d’exploitation.

Java Socket – Connexion - Exemple Socket monClient; try { monClient = new Socket("nom", numéroPort); } // nom: nom d’hôte ou adresse IP catch (IOException e) { System.out.println(e); }

Java Socket – Connexion (Open) Serveur La classe ServerSocket Cette classe réalise une socket serveur. Une socket serveur attend des requêtes (telle que la demande de connexion TCP) provenant du réseau. Elle réalise des opérations, en fonction de la requête, et possiblement retourne un résultat au demandeur. public ServerSocket(int port) throws IOException port - le numéro du port du serveur pour écouter et accepter les appels entrants.. public Socket accept() Méthode de la classe ServerSocket: retourne la nouvelle Socket pour gérer la connexion. http://java.sun.com/j2se/1.4.2/docs/api/java/net/ServerSocket.html#accept()

Java Socket – Connexion - Exemple Du coté du serveur: La création du socket serveur : ServerSocket monService; try { monService = new ServerSocket(portNumber); } catch (IOException e) { System.out.println(e); L’écoute du réseau se fait avec accept() Socket serviceSocket = null; serviceSocket = monService.accept();

Socket java : Lecture class BufferedReader Cette classe permet une lecture d’un String Java. Méthode de la classe Socket: retourne une référence à un objet InputStream pour la lecture du socket. public InputStream getInputStream() throws IOException L’objet retourné par devrait être encapsulé dans un objet BufferedReader qui offre un tampon de données, où le Reader réfère à l’objet InputStream. public BufferedReader(Reader in) Méthode de la classe BufferedReader: retourne la ligne suivante du texte de la chaine d’entrées. public final String readLine()

Java Socket - Lecture Dans le client et le serveur: BufferedReader input; try { input = new BufferedReader( new InputStreamReader( mySocket.getInputStream() ) } catch (IOException e) { System.out.println(e); String message = input.readLine(); // Bloque jusqu’à // l’arrivée de données

Java Socket - Écriture class PrintWriter(OutputStream out) Cette classe permet une écriture d’un String Java à un socket Java. public OutputStream getOutputStream() throws IOException Returns un référence à un object OutputStream à envoyer au constructeur PrintWriter. public final void println(String s) Méthode de la classe PrintWriter pour écrire un String Java, s. Notez que le println est nécessaire afin que la méthode readLine() de la classe BufferedReader lise la ligne (la find de ligne est elevé par readLine()). http://java.sun.com/j2se/1.4.2/docs/api/java/net/Socket.html#getOutputStream()

Java Socket - Écrire PrintWriter output; try { output = new PrintWriter( MyClient.getOutputStream()); } catch (IOException e) { System.out.println(e); output.println(“une chaine de caractères”);

Java Socket – Fermeture (Close) public void close() throws IOException Une fois une socket fermée, elle n’est plus disponible à communiquer. Une nouvelle objet Socket doit être créé. Si un connexion est associée à ce socket, il s’en suit qu’il est aussi fermé. Cette méthode est présent dans la classe Socket et la classe ServerSocket. Cette méthode est aussi présente dans les objets BufferedReader et PrintWriter.

Java Socket - Close Du coté du client : try { output.close(); input.close(); MyClient.close(); } catch (IOException e) { System.out.println(e); } Du coté du server (pour chaque connexion, i.e. Socket, voir du côté du client): serviceSocket.close(); MyService.close(); catch (IOException e) {System.out.println(e);}

Application Chat (classes Java) ChatClient ChatServer ClientSocketManager ServerSocketManager Socket ServerSocket Socket

Protocol pour Service Chat Application Chat Permet à plusieurs utilisateurs de tenir une conversation en-ligne via un réseau Serveur: un serveur permet une session de Chat Interroge chaque client pour un message Distribue à tous les clients les messages reçus Client: permet de se joindre à la session Chat Envoyer un message au serveur pour distributions aux clients Affiche messages reçus du serveur

Protocol pour Service Chat Protocol simple avec PDU ayant le format suivant Interrogation (polling): « POL », envoyer par serveur pour demander messages. Acquittement: « ACKmessage », réponse au POL envoyer par le client – message à distribuer à tous les clients. Acquittement négatif: « NAC », réponse au POL envoyer par le client – pas de message à distribuer Message: « SELmessage », message envoyer par serveur, à afficher au client.

Labo 2 Les classes pour l’application Chat sont fournies: ChatClient, ChatServer. Les gabarits pour les classes ClientSocketManager et ServerSocketManager sont à compléter. Commencez avec le côté client