Programmation orientée objet appliquée avec le langage Java Réseaux
|
|
- Jean-Paul Beauséjour
- il y a 8 ans
- Total affichages :
Transcription
1 Programmation orientée objet appliquée avec le langage Java Réseaux IUT d'aix en Provence Réseaux et Télécommunications Décembre 2013 Ivan Madjarov Partie XIII Programmation en Java par Socket en mode connecté (TCP) 2
2 Mode TCP et UDP 3 Le mode connecté (TCP) Fonctionnement en mode connecté Données envoyées dans un "tuyau" et non pas par paquet Flux de données (Stream) Fiable : la couche TCP assure que: Les données envoyées sont toutes reçues par la machine destinataire Les données sont reçues dans l'ordre où elles ont été envoyées 4
3 Le mode connecté (TCP) Le mode est assuré au niveau de la couche de transport selon le modèle OSI par le protocole TCP (Transmission Control Protocol). Le paquetage java.net fourni les classes: Socket(host, port); ServerSocket(port); pour travailler avec le mode connecté (TCP). Le mode connecté est une interconnexion stable entre un client et un serveur. 5 Le mode connecté (TCP) Les étapes côté Serveur: 1. Instancier la classe ServerSocket et l instruire à écouter sur un port > Accepter les connexions par la méthode accept() et créer un objet Socket pour référencer la nouvelle connexion. 3. Passer la nouvelle connexion au programme approprié. 4. Fermer la connexion par la méthode close(). Les étapes côté Client: 1. Se connecter au service approprié en instanciant la classe Socket et en lui passant comme paramètres l adresse du Serveur et le port écouté. 2. Lorsque l échange est terminé fermer la connexion par la méthode close(). 6
4 Le mode connecté (TCP) Le Client et le Serveur en mode connecté 7 Les Sockets (connecteurs réseau) Une application Client se connecte par une adresse IP sur un numéro de port. Le serveur accepte la connexion et fournit une nouvelle socket avec un nouveau port de communication pour continuer à écouter sur la socket originale. Du côté du client, si la connexion est acceptée, une socket est créée pour assurer la communication avec le serveur. 8
5 Les Sockets (connecteurs réseau) Classe java.net.socket propose: Méthodes d'émission et de réception de données Contrairement aux sockets UDP, les sockets TCP n'offre pas directement de services pour émettre recevoir des données On récupère les flux d'entrée sorties associés à la socket OutputStream getoutputstream() Retourne le flux de sortie permettant d'envoyer des données via la socket InputStream getinputstream() Retourne le flux d'entrée permettant de recevoir des données via la socket Fermeture d'une socket public close() Ferme la socket et rompt la connexion avec la machine distante 9 Les Sockets (connecteurs réseau) Mise en œuvre du modèle Client Serveur: La Socket est créé sur le client. Le ServerSocket fonctionne sur le serveur en attente de connexion ( méthode accept() ). La Socket tente de se connecter sur le serveur distant. Connexion établie, le ServerSocket génère une Socket pour communiquer avec le client. La connexion établie, le système Client et Serveur établit un canal de communication par flux à partir de leur Sockets pour échanger des données. Après fin des échanges, l'un des interlocuteurs clôt le canal de communication. 10
6 Les Sockets (connecteurs réseau) Constructeurs: public Socket(String host, int port) throws UnknownHostException, IOException; public ServerSocket(int port) throws IOException; Méthodes: host (String) : nom de la machine vers laquelle la socket est créée. addresse (InetAddress) : adresse IP de la machine vers laquelle la socket est créée. port (int) : numéro du port sur lequel la socket est créée. localaddr (InetAddress) : adresse IP locale à la quelle la socket est associée. localport (int) : numéro du port local auquel la socket est associée. public void close() throws IOException : ferme la socket. 11 Les Sockets (connecteurs réseau) public inputstream getinputstream() throws IOException : retourne le flux d'entrée associé à la socket. public OutputStream getoutputstream() throws IOException : retourne le flux de sortie associé à la socket. public void close() throws IOException : ferme la ServerSocket. public Socket accept() throws IOException : place le ServerSocket en attente de requête d'ouverture de socket. Cette attente est bloquante. Une socket est automatiquement générée et retournée lors de cette requête. 12
7 Les Sockets (connecteurs réseau) Réaliser un Client TCP en Java : ouverture d une socket(new socket(host,port)), ouverture d un flot d entrée et de sortie sur la socket(in = new BufferReader(...)) out = new PrinterWritter(...) lecture et écriture sur les flots en accord avec les protocoles du serveur in.readline(...), out.println(...), fermeture des flots: in.close(), out.close(), fermeture de la socket : socket.close(); 13 Les Sockets (connecteurs réseau) Réaliser un Serveur TCP avec la classe java.net.serversocket : ouverture d une socket serveur, attente de connexion et ouverture d une socket client, ouverture d un flot d entrée et de sortie sur la socket client, lecture et écriture sur les flots en accord avec les protocoles du client (présenté précédemment), fermeture des flots, fermeture de la socket serveur et de la socket client. 14
8 Serveur d'heure TCP import java.net.*; import java.io.*; import java.util.*; class serveurheure { // Retourne au client la date et l'heure public static void main(string args[]) { // Installer le serveur sur un port ServerSocket sks = new ServerSocket(8181); System.out.println("Serveur en attente"); // Tourne en attente de connexion Socket sk = sks.accept(); System.out.println(sk.toString()); DataOutputStream out = new DataOutputStream(sk.getOutputStream()); out.writebytes(new Date()+"\n"); // ecr. date et heure sk.close(); >java serveurheure sks.close(); Serveur en attente catch (IOException e) { Socket[addr=/ ,port=49409,localport=8181] System.out.println(e.getMessage()); 15 Le Client TCP // Client cherchant l'heure sur le serveur import java.io.*; import java.net.*; public class ClientTCPHeure { >java ClientTCPHeure Wed Nov 25 08:58:32 CET 2013 > public static void main(string args[]) { String ligne = ""; // Etablir une connexion TCP sur un port Socket sk = new Socket("localhost",8181); // Le flux d'entrée pour recevoir le message serveur BufferedReader is = new BufferedReader(new InputStreamReader(sk.getInputStream())); // Lire le flux d'entrée while ((ligne = is.readline())!= null) System.out.println(ligne); // message du serveur catch (Exception e) { System.err.println(e.getMessage()); 16
9 Le client TCP émet un message import java.net.*; import java.io.*; public class ClientTCP { Socket sock = null; public ClientTCP(String host, int port, String data) { // Connexion sur le port du serveur sock = new Socket(host, port); // Définir le flux de sortie PrintStream output = new PrintStream(sock.getOutputStream()); output.println(data); // Envoi des données sock.close(); catch(ioexception e) { public static void main(string[] args) { ClientTCP client = new ClientTCP(" ",1500,"Bonjour!"); 17 Serveur TCP traite le message import java.net.*; import java.io.*; public class ServeurTCP { int port = 1500; // Port de connexion ServerSocket SkS; // La socket serveur Socket SkC; // La socket client BufferedReader input; // Lecteur du flux d'entrée String message; public ServeurTCP() { // Constructeur de la classe // La socket serveur est installée sur le port 1500 SkS = new ServerSocket(port); System.out.println("Serveur sur port: " + SkS.getLocalPort()); // Serveur en attente infinie: (1) connexion d'un client, (2) réception de messages, (3) fermeture de la connexion par le client 18
10 Les Sockets (connecteurs réseaux) while(true) { // Connexion acceptée SkC = SkS.accept(); System.out.println("Connexion acceptée: "+SkC.getInetAddress()); // Instancier le lecteur du flux d'entrée input = new BufferedReader(new InputStreamReader(SkC.getInputStream())); // Réception et affichage des messages du client while(true) { // lecture en boucle des lignes envoyées par le client message = input.readline(); if (message == null) break; // Sortie de la boucle System.out.println(message); // Affiche le message client catch (IOException e) { System.err.println(e.getMessage()); 19 Les Sockets (connecteurs réseaux) // Fermeture de la connexion par le client SkC.close(); System.out.println("TCP Serveur STOP!"); break; catch (IOException e) { System.err.println(e); catch (IOException e) { System.err.println(e); // Application principale avec appel du constructeur public static void main(string[] args) { new ServeurTCP(); 20
11 Les Sockets (connecteurs réseaux) Le côté client: Le côté serveur: 21 Le format d'une requête HTTP 1.0 Une requête est une ligne de trois éléments séparés par un espace: 'Méthode' 'URL' 'Protocole' La méthode (GET, POST, ) L'URL (Uniform Resource Locator) du fichier demandé La version du protocole utilisé par le client (HTTP/1.0) Les champs d'en tête de la requête: lignes facultatives permettant de donner des informations sur la requête et/ou le client (Navigateur, système d'exploitation,...). Le corps de la requête: lignes optionnelles séparées une ligne vide et permettant un envoi de données par une commande POST lors de l'envoi de données par un formulaire. 22
12 Serveur HTTPD (1) import java.net.*; import java.io.*; import java.util.*; public class monohttpd { // Le serveur traite une seule connexion à la fois public static void main(string[] argv) throws IOException { ServerSocket ss = new ServerSocket(1234); // Installation du serveur sur un port System.out.println("Serveur HTTP sur le port 1234"); // Message du côté du Serveur Socket sock = ss.accept(); // ça boucle en attente de requête // Formater la sortie OutputStream out = sock.getoutputstream(); // Lecture de la requête String req = (new BufferedReader(new InputStreamReader(sock.getInputStream()))).readLine(); System.out.println("Requête: " + req); // Traitement de la requête "GET /index.html HTTP/1.1" String str[] = req.split(" "); // Décompose 'req' par le délimiteur " " et charge en éléments de tableau 23 Serveur HTTPD (2) if (str[0].equals("get")) { // Vérifier si la requête démarre par "GET" req = str[1].substring(1); // On enlève '/' devant le nom du fichier FileInputStream fis = new FileInputStream(req); // Ouvrir le fichier demandé byte[] data = new byte[fis.available()]; // available() retourne le nombre de bytes à lire fis.read(data); // Lire les données du fichier dans le tableau de bytes out.write(data); // Envoyer les données au client catch ( FileNotFoundException e ) { new PrintStream(out).println("404 Not Found"); else { new PrintStream(out).println("400 Bad Request"); sock.close(); catch ( IOException e ) { System.out.println("I/O error " + e.getmessage()); 24
13 Le côté Serveur Serveur HTTPD La page 'index.html' Le fichier 'index.html' 25 Partie XIV Programmation en Java par Socket en TCP et Threads 26
14 Threads et processus Un thread est une portion de code capable de s'exécuter en parallèle à d'autres traitements. Un thread n'est pas un processus. Les threads partagent la même mémoire contrairement aux processus. Les threads sont utiles pour: faire des traitements en tâche de fond; exécuter plusieurs instances d'un même code pour accélérer le traitement; autoriser plusieurs connexions simultanées sur un serveur HTTP ou un chat; les threads s'exécutent en temps partagé. 27 Les Threads Java Lorsqu'un programme est exécuté sur un système multitâche, l'os crée un processus dédié, disposant de certaine ressources (mémoire,...). Un thread est une unité d'exécution plus "petite" qu'un processus. Les threads issus d'un même processus partagent le même espace mémoire chacun doté d'une certaine priorité. Un système multiprocesseur peut exécuter les threads d'un programme simultanément, un sur chaque processeur. On utilise les threads pour améliorer la réactivité d'un système: pour traiter séparément une connexion réseau et un calcul en mémoire ou pour améliorer la réactivité d'une interface graphique. 28
15 Cycle de vie des Threads Java Un thread peut être dans un des cinq états suivants: création : le thread vient d'être créé, mais il n'a pas encore été exécuté; exécutable : le thread est candidat à l'exécution, il attend que le système lui alloue le processeur pendant une certaine durée, appelée quantum de temps; en cours d'exécution : le thread est en cours d'exécution par le processeur (sur un système monoprocesseur, un seul thread peut se trouver dans cet état); bloqué : le thread a provoqué une opération bloquante ou s'est "endormi" volontairement pour une certaine durée; détruit : le thread a fini son exécution ou a été arrêté par un autre thread. 29 Cycle de vie des Threads Java 30
16 Manipulation des threads en Java Un thread est un objet en Java. 1. Pour utiliser des threads dans un programme, il suffit d'hériter de la classe Thread et de redéfinir la méthode run() La méthode run() est automatiquement appelée au moment où le thread est démarré. 2. On peut procéder aussi par l'implémentation de l'interface Runnable et instancier un objet Thread avec l'implémentation de cette interface. 31 Manipulation des threads en Java Pour tester les threads on peut créer une classe gérant un constructeur et un String en paramètre pour spécifier le nom du thread. La classe comprend la méthode getname() pour retourner ce nom du thread en cours. La classe Thread se trouvant dans le package java.lang, alors aucune instruction import n'est nécessaire. Java utilise un ordonnanceur qui détermine l'ordre d'exécution, qui s'avère souvent aléatoire. Lorsque l'ordonnanceur passe d'un thread à un autre, le thread interrompu est mis en sommeil tandis que l'autre est en éveil 32
17 Manipulation des threads en Java L'ordre d'exécution est souvent aléatoire 33 TCP en plusieurs clients 34
18 TCP en plusieurs clients 35 TCP en plusieurs clients 36
19 Serveur HTTPD multithread import java.net.*; import java.io.*; import java.util.*; public class TinyHttpd { public static void main(string argv[]) { // Instancier le serveur sur un port ServerSocket ss = new ServerSocket(4141); System.out.println("HTTPD lancé sur port 4141"); while(true) // 'ss.accept()' est en attente de connexion new TinyHttpdConnection(ss.accept()); // S'il y a connexion on instancie un thread catch (IOException e) { System.err.println(e.getMessage()); 37 Serveur HTTPD multithread class TinyHttpdConnection extends Thread { // attribut de la classe Socket sock; // Constructeur de Thread public TinyHttpdConnection(Socket s) { this.sock = s; setpriority( NORM_PRIORITY 1 ); // Nouveau thread est créé this.start(); HTTPD lancé sur port 4141 Thread 0 Request: GET /filegroupeetudiants.html HTTP/1.1 38
20 Serveur HTTPD multithread // méthode qui lance le thread public void run() { // affiche le nom du thread lancé System.out.println(this.getName()); // flux de sortie vers le client OutputStream out = sock.getoutputstream(); // récupère la requête String req = (new BufferedReader(new InputStreamReader(sock.getInputStream()))).readLine(); System.out.println("Request: "+req); // décompose la requête StringTokenizer st = new StringTokenizer( req ); if ( (st.counttokens() >= 2) && st.nexttoken().equals("get") ) { if ( (req = st.nexttoken()).startswith("/") ) req = req.substring( 1 ); if ( req.endswith("/") req.equals("") ) req = req + "index.html"; 39 Serveur HTTPD multithread // ouverture du fichier FileInputStream fis = new FileInputStream(req); // coder le contenue en byte byte[] data = new byte[fis.available()]; // lecture du fichier fis.read(data); // Envoi sur le réseau vers le client out.write(data); catch(filenotfoundexception e) { new PrintStream(out).println("404 Not Found"); else new PrintStream(out).println("400 Bad Request"); sock.close(); catch (IOException e) { System.out.println("I/O error " + e); 40
Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.
Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de
Plus en détailProgrammation Internet en Java
Chapitre 8 Programmation Internet en Java Vous avez déjà utilisé Internet, le plus connu des inter-réseaux mondiaux d ordinateurs et quelques-uns de ses services, en particulier le web et le courrier électronique.
Plus en détailDis papa, c est quoi un bus logiciel réparti?
Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la
Plus en détailLe modèle client-serveur
Le modèle client-serveur Introduction Christian Bulfone christian.bulfone@gipsa-lab.fr www.gipsa-lab.fr/~christian.bulfone/ic2a-dciss Master IC2A/DCISS Année 2012/2013 Encapsulation : rappel Données Données
Plus en détailFlux de données Lecture/Ecriture Fichiers
Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d
Plus en détailProgrammation client-serveur sockets - RPC
Master Informatique M Plan de la suite Programmation client-serveur sockets - RPC Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/people/krakowia
Plus en détailCommunication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle
F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation
Plus en détailCahier des Charges du Projet Domotique. Choquet Mathieu Masson Jérôme Groupe 6. Domotique. p.1
Choquet Mathieu Masson Jérôme Groupe 6 Domotique p.1 SOMMAIRE : Introduction...... I/ Envoi de SMS...... II/ Architecture...... III/ Serveur...... IV/ Détection de mouvement...... V/ Problème rencontré......
Plus en détailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailCours 6 : Programmation répartie
Cours 6 - PC2R - M2 STL - UPMC - 2008/2009 p. 1/49 Cours 6 : Programmation répartie modèle à mémoire répartie Interneteries Client/serveur Exemples en O Caml Classe Java clients/serveur multi-langages
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailTP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet
TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailDéveloppement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)
Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Propriétés Description Intitulé long Formation concernée Matière Présentation Développement d un logiciel de messagerie
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailSynchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Plus en détailIntroduction à HTTP. Chapitre 3 3.1 HTTP 0.9
Chapitre 3 Introduction à HTTP L HyperText Transfer Protocol, plus connu sous l abréviation HTTP (littéralement protocole de transfert hypertexte ) est un protocole de communication client-serveur développé
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailNotion de thread (1/2)
Notion de thread (1/2) La machine virtuelle java (JVM) permet d'exécuter plusieurs traitements en parallèle (en pratique, ils s'exécutent par tranche et en alternance sur le processeur). Ces traitements
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailRMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailInfo0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java
Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan
Plus en détailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détailProgrammation Réseau SSH et TLS (aka SSL)
Programmation Réseau SSH et TLS (aka SSL) Jean-Baptiste.Yunes@liafa.jussieu.fr Coloriages: François Armand armand@informatique.univ-paris-diderot.fr UFR Informatique 2011-2012 Réseau et Sécurité Problèmes
Plus en détailCours 14 Les fichiers
Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une
Plus en détailHTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ...
HTTP 1.1 Place de http dans le modèle osi : HyperText Transfer Protocol...... TCP IP...... HTTP est un protocole «sans état» : chaque page WEB est transmise dans une connexion séparée (sauf pour les connections
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailIntroduction : les processus. Introduction : les threads. Plan
IN328 Programmation distribuée avec Java et J2EE 2 - Threads en Java Introduction : les processus Un processus est un ensemble d instructions à exécuter, un espace mémoire réservé et éventuellement d autres
Plus en détailLe service FTP. M.BOUABID, 04-2015 Page 1 sur 5
Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur
Plus en détailCalcul Parallèle. Cours 5 - JAVA RMI
Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation
Plus en détailNFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007
NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation
Plus en détailTD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting
IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances
Plus en détailPROGRAMMATION PAR OBJETS
PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)
Plus en détailPrincipes des Architectures Middleware version 2.0
Principes des Architectures Middleware version 2.0 Technologie des réseaux - rappel Les principaux types de Middleware Principes des middlewares orientés objet Les copies de sites Web commerciaux sont
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailCorrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Plus en détailProgrammation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13
Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie
Plus en détailDéveloppement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailINTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailEntrées / Sorties. Entrées / Sorties. Entrées/Sorties. System.out. Fonctionnement par flots (stream) Karima Boudaoud IUT- R&T. Terrain connu.
Entrées / Sorties Entrées/Sorties Fonctionnement par flots (stream) Karima Boudaoud IUT- R&T Karima Boudaoud IUT GTR-Sophia Antipolis 2 Terrain connu Entrées / Sorties la classe java.lang.system cette
Plus en détailThreads. Threads. USTL http://www.lifl.fr/ routier 1
Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un
Plus en détailEPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall
B.T.S Informatique de Gestion Option Administrateur de Réseaux Locaux d Entreprise Session 2004/2005 EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES Nom et prénom du candidat : TAGLIAFERRI Eric ACTIVITE
Plus en détail2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
Plus en détailClasse ClInfoCGI. Fonctions membres principales. Gestion des erreurs
Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement
Plus en détailPIGOURIER Vincent ANNEE SPECIALE 99/00 RAPPORT DE PROJET : LES THREADS JAVA. Responsable : Serge Rouveyrol
PIGOURIER Vincent ANNEE SPECIALE 99/00 RAPPORT DE PROJET : LES THREADS JAVA Responsable : Serge Rouveyrol 1 I -INTRODUCTION A L'UTILISATION DES THREADS...3 1 - Géneralités et propriétés des threads...3
Plus en détailJava - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
Plus en détailPackage Java.util Classe générique
Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object
Plus en détailPrésentation du modèle OSI(Open Systems Interconnection)
Présentation du modèle OSI(Open Systems Interconnection) Les couches hautes: Responsables du traitement de l'information relative à la gestion des échanges entre systèmes informatiques. Couches basses:
Plus en détailInstallation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer
Plus en détailServeur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Plus en détailFirewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.
Firewall I- Définition Un firewall ou mur pare-feu est un équipement spécialisé dans la sécurité réseau. Il filtre les entrées et sorties d'un nœud réseau. Cet équipement travaille habituellement aux niveaux
Plus en détailModèle à composants. Daniel Hagimont. IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7. Remerciements
Modèle à composants Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://www.enseeiht.fr/~hagimont Remerciements Eric Bruneton Sacha
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailJava DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
Plus en détailFORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères
FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant
Plus en détailProgrammation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.
Programmation Orientée Objet - Licence TIS CM8/9 Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.fr Poitiers, le 13/03/2006 Rappel sur la séance précédente La fois précédente, nous avons vu : 1 UML
Plus en détailUne introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailTP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.
Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailSTS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module
François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,
Plus en détailProjet de Veille Technologique
Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...
Plus en détailWeb Tier : déploiement de servlets
Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation
Plus en détailGuide d'installation. Release Management pour Visual Studio 2013
1 Guide d'installation Release Management pour Visual Studio 2013 Le contenu de ce document est fourni «en l'état». Les informations et les points de vue contenus dans ce document, y compris les URL et
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailIntergiciel - concepts de base
Intergiciel - concepts de base Ada Diaconescu, Laurent Pautet & Bertrand Dupouy ada.diaconescu _at_ telecom-paristech.fr Rappel : système réparti Système constitué de multiples ressources informatiques
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailSommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et
Licence 3 CDA 2010/2011 Client FTP Java Maxence Jaouan Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Windows?...
Plus en détailSYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM
SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM Copyright TECH 2012 Technext - 8, avenue Saint Jean - 06400 CANNES Société - TECHNEXT France - Tel : (+ 33) 6 09 87 62 92 - Fax :
Plus en détailDesktop Intégration. Rémi Forax
Desktop Intégration Rémi Forax 1 Intégration au bureau L intégration de l application au bureau de l utilisateur se fait en combinant plusieurs techniques L écran d annonce de l application (SplashScreen)
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailJava Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets
Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailInstallation et configuration du CWAS dans une architecture à 2 pare-feux
Installation et configuration du CWAS dans une architecture à 2 pare-feux Sommaire SOMMAIRE... 1 PRE REQUIS DU SERVEUR WEB ACCESS... 2 INSTALLATION DU SERVEUR WEB ACCESS EN DMZ... 3 Installation de base
Plus en détailLe Modèle de Sécurité dans JAVA
Le Modèle de Sécurité dans JAVA $Id : javasecurity.lyx 1565 2008-10-22 13 :57 :30Z phil $ 22 octobre 2008 Université de Cergy-Pontoise, 2 rue A. Chauvin 95302 Cergy-Pontoise cedex e-mail laroque@u-cergy.fr
Plus en détailGilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068
HTTP/1.1 RFC 2068 1 Caractéristiques Niveau application Sans état Tout transfert de données Au dessus du protocole TCP Largement utilisé dans le World Wide Web Utilise les normes : URI (Uniform Resource
Plus en détailExclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
Plus en détailInitiation à la programmation orientée-objet avec le langage Java
Initiation à la programmation orientée-objet avec le langage Java Pôle Informatique 2013-2014 158 cours Fauriel 42023 Saint-Étienne Cedex 02 Gauthier Picard gauthier.picard@emse.fr Institut Henri Fayol,
Plus en détailNFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web
NFA016 : Introduction O. Pons, S. Rosmorduc Conservatoire National des Arts & Métiers Pour naviguer sur le Web, il faut : 1. Une connexion au réseau Réseau Connexion physique (câbles,sans fils, ) à des
Plus en détailJ2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread
Plus en détailApplication Web et J2EE
Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis
Plus en détailUniversité Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall
Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A TP réseau firewall L objectif de ce TP est de comprendre comment mettre en place un routeur pare-feu (firewall) entre
Plus en détailJADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
Plus en détailBTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais
BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailJava RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011
Java RMI Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr Université de Provence 8 mars 2011 Arnaud Labourel (Université de Provence) Java RMI 8 mars 2011 1 / 58 Web services Services par le réseau
Plus en détailM1 MIAGE - Réseau TP1
M1 MIAGE - Réseau TP1 Consignes Les TPs ont lieu par groupe de 2 ou 3. Le groupe sera le même pour le projet. Le niveau des personnes dans le groupe doit être sensiblement le même! Pour chaque TP, vous
Plus en détailCours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février
Plus en détail