Introduction à la programmation de clients/serveur TCP/IP en Java
|
|
- Chrystelle Crevier
- il y a 7 ans
- Total affichages :
Transcription
1 Introduction à la programmation de clients/serveur TCP/IP en Java Rushed Kanawati LIPN, CNRS UMR 7030 Université Paris 13 kanawati December 17, 2012 R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
2 Plan 1 Introduction 2 Classes Java pour la programmation réseaux: TCP/IP La classe InetAddress Classes pour communication UDP Serveur UDP multi-threads Communication Multicast Communication TCP R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
3 Introduction Objectifs Introduction à la programmation d applications réseaux en Java. Programmation de clients/serveurs : UDP et TCP Programmation de clients/serveur réseaux multi-threads Programmation d applications distribuées avec java RMI: Remote Method Invocation R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
4 Introduction Rappel : Architecture Logicielle TCP/IP R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
5 Introduction Communication TCP/TP : Caractérisation Adresses IP source et destination Numéro de ports source et destination. Protocole de transport utilisé : UDP ou TCP R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
6 Introduction Numéro de Port Un port désigne le SAP (Service Access Point) de la couche application. L adresse d une application sur le réseau est donc définie par le couple d la machine : numéro de port. L IANA 1 répartit les numéros de ports en trois catégories : Les ports systèmes : Sous Linux l utilisation de ces ports nécessite d avoir les privilèges d administrateur. Les ports déposés : sont disponibles pour les utilisateurs et peuvent eux aussi être déposés auprès de l IANA Les ports privés : à Internet Assigned Numbers Authority, R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
7 Introduction Le concept de socket Un socket est une interface entre une application et un service de la couche de transport. Plusieurs types de socket : socket UDP et socket TCP. Il est représenté comme un fichier : l écriture dans ce fichier corresponds à l envoie d un message selon le protocole associé (UDP ou TCP). La réception d un message se fait par une opération de lecture. Un socket est associé alors à un protocole de transport et à un numéro de port. R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
8 TCP/IP : Programmation en Java Le paquetage java.net offre les classes de base : InetAddress : pour la manipulation d adresses IP. DatagramSocket : pour la manipulation de sockets UDP. DatagramPacket : pour la manipulation de paquets UDP. ServerSocket : pour la manipulation de socket de serveurs TCP Socket : pour la manipulation de socket TCP d échange de données. R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
9 La classe InetAddress La classe InetAddress Cette classe n offre pas de constructeurs. La création d un objet passe par l appel d une des méthodes statiques suivantes : static InetAddress getlocalhost() throws UnknownHostException Retourne un objet InetAddress représentant la machine locale public static InetAddress getbyname(string host) throws UnknownHostException Retourne un objet InetAddress qui corresponds ) la résolution par le système DNS de nom host. public static InetAddress[] getallbyname(string host) throws UnknownHostException Retourne toutes les adresses retrouvées de host. R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
10 La classe InetAddress : Exemples La classe InetAddress InetAddress... try { a,b,c; a = InetAddress. getlocalhost (); b= InetAddress. getbyname (" iutv.univ - paris13.fr"); c= InetAddress. getbyname (" "); } catch ( UnknownHostException e) {... } R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
11 La classe InetAddress La classe InetAddress : méthodes de services public String gethostname() Retourne le nom complet correspondant à l adresse IP public String gethostaddress() Retourne l adresse IP sous forme numérique. public byte[] getaddress() Retourne l adresse IP sous forme d une suite d octets. R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
12 Classes pour communication UDP Rappel : Protocole UDP UDP opère en mode non connecté : échange de datagramms (paquets) L entête d un paquet UDP contient les numéros de ports source et destination. Les adresses IP sont dans l entête IP encapsulé dans le paquet. Un paquet UDP contient donc : Les adresses IP source et destination, les ports source et destination et le message à envoyer (suite d octets) R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
13 Classes pour communication UDP La classe DatagramPacket Classe de manipulation de paquets UDP. Constructeur pour encapsuler un paquet UDP à recevoir : DatagramPacket(byte[] buf, int length) où buf est le message à recevoir et length la taille du message. Constructeur pour encapsuler un paquet UDP à envoyer : DatagramPacket(byte[] buf, int length, InetAddress address, int port) où buf est le message à envoyer, length la taille du message, address est l adresse IP destination et port est le port destination. Attention le message buf doit être initialisé avant la construction du paquet. R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
14 Classes pour communication UDP La classe DatagramPacket : méthodes de services InetAddress getaddress() Retourne l adresse IP de la machine distante. int getport() Retourne le numéro de port distant. byte[] getdata() Retourne la partie donnée du paquet. R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
15 Classes pour communication UDP Classe DatagramSocket Constructeurs : public DatagramSocket() throws SocketException Création d un socket UDP associé à un port libre (privé) public DatagramSocket(int port) throws SocketException Création d un socket UDP associé au port port R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
16 Classes pour communication UDP DatagramSocket : Méthodes de service public void send(datagrampacket p) throws IOException Envoyer le paquet p public void receive(datagrampacket p) throws IOException recevoir un paquet p. L appel ce cette méthode est bloquante. public void setsotimeout(int timeout) throws SocketException Permet de débloquer le thread exécutant une méthode recieve au bout de timeout seconds. R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
17 Classes pour communication UDP Exemple : Envoie de message UDP (1) /* Initialisation d un socket UDP */ DatagramSocket socket = new DatgramSocket () /* identification de l application destination ; por InetAddress address = InetAddress. getbyname (" iutv.univ - paris13.fr"); int port = 8888; /* Le message à envoyer */ String s = new String (" Bonjour Paris 13"); byte [] message = new byte [ 1024]; /* transformation du message en suite d octets */ message = s. getbytes (); R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
18 Classes pour communication UDP Exemple : Envoie de message UDP (2) /* Formation du paquet UDP à envoyer */ DatagramPacket paquet = new DatagramPacket ( message, longueur, address, port ); /* envoi du paquet */ socket. send ( paquet ); R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
19 Classes pour communication UDP Exemple : Réception de message UDP (1) try { DatagramSocket socket = new DatagramSocket ( 8888); byte [] buffer = new byte [ 1024]; // On associe un paquet à un buffer vide pour la réception DatagramPacket paquet = new DatagramPacket ( buffer, buffer. length ); /* attente de réception */ socket. receive ( paquet ); /* affichage du paquet reçu */ String s = new String ( buffer ); System. out. println (" message reçu : " + s); } catch ( Exception e) {} R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
20 Serveur UDP multi-threads Serveur UDP multi-threads Pourquoi? Réduire le temps d attente de traitement de requêtes en permettant le traitement parallèle. Comment? Pour chaque paquet UDP reçu par le serveur, un thread de traitement se charge du traitement du paquet. Optimisation : Un serveur peut anticiper la création de threads de traitement afin de réduire le temps d attente de traitement d une requête. R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
21 Serveur UDP multi-threads Serveur UDP multi-threads : Exemple DatagramSocket socket = new DatagramSocket ( 8888); while ( true ) { byte [] buffer = new byte [ 1024]; DatagramPacket paquet = newdatagrampacket ( buffer, buffer. length ); socket. receive ( paquet ); /* Lancement d un thread de traitement à la réception d un paquet */ new Handler ( paquet ). start (); /* se mettre à nouveau à attendre d autres requ^etes */ } R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
22 Serveur UDP multi-threads Serveur UDP multi-threads : Exemple class Handler extends Thread { private DatagramPacket p; public Handler ( DatagramPacket p) throws Exception { if (p!= null } { this.p=p; } else { throw new Exception (); } public void run () { /* traitement du paquet */ } R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
23 Communication Multicast Communication Multicast Communication Multicast : Diffusion restreinte de messages au sein d un groupe. Un groupe multicarte est identifié par une adresse IP de classe D. Plage d adresses de classe D (IPv4) : : adresses réservées pour des services systèmes : adresses publiques : adresses privées. Utilisation d un socket spécial : MulticastSocket R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
24 Communication Multicast La classe MulticastSocket Sous-classe de DatagramSocket Constructeurs : public MulticastSocket () throws IOException /* Création d un socket multicast associé à un port UDP libre */ public MulticastSocket ( int port ) throws IOException /* Création d un socket multicast associé au port UDP port */ R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
25 La classe MulticastSocket Communication Multicast Quelques méthodes de services : public void joingroup ( InetAddress mcastaddr ) throws IOException /* rejoindre un groupe de multicast */ public void leavegroup ( InetAddress mcastaddr ) throws IOException /* Quitter un groupe de multicast */ public void settimetolive ( int ttl ) throws IOException /* Fixer le TTL associé aux paquets UDP */ public int gettimetolive () throws IOException R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
26 } catch ( Exception ex ){} } } R. Kanawati (LIPN) Programmation réseau en java December 17, / 34 Classes Java pour la programmation réseaux: TCP/IP Multicast : exemple Communication Multicast public class Multicast { public static void main ( String [] args ){ MulticastSocket soc ; InetAddress adr ; DatagramPacket p; byte [] msg ; try { adr = InetAddress. getbyname (" "); soc = new MulticastSocket (); soc. joingroup ( adr ); msg = new String (" Salut!!"). getbytes (); p= new DatagramPacket (msg, msg. length, adr, 8888); soc. send (p);
27 Multicast : exemple Communication Multicast public class MCClient { public static void main ( String [] args ){ MulticastSocket soc ; InetAddress adr ; DatagramPacket p; byte [] msg ; try { adr = InetAddress. getbyname (" "); soc = new MulticastSocket ( 8888); soc. joingroup ( adr ); msg = new byte [1024]; p = new DatagramPacket ( msg, msg. length ); soc. receive (p); System. out. println (" Message reçu "+ new String (p. getdata ())); } catch ( Exception ex ){} }} R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
28 Communication TCP Communication TCP Communication en mode connecté Communication en trois phases : connexion, échange, déconnexion. Contrôle d erreurs et de perte de messages : mécanismes d acquittements. La phase de connexion est asymétrique. On parle alors de serveur et de client. Le serveur TCP utilise un socket de la classe ServerSocket. L échange de messages se fait à travers de sockets de la classe Socket R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
29 Communication TCP La classe ServerSocket Rôle : attendre la réception de demande de connexion. Puis création d un socket d échange sur acceptation. Constructeur : public ServerSocket ( int port ) throws IOException ; /* Création d un socket de connexion TCP associé au port port */ Métode d acceptation de demande de connexion: public Socket accept () throws IOException ; /* Attente de demande de connexion, création s un socket d échange après acceptation */ l appel de la méthode accept() est bloquant R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
30 La classe Socket Communication TCP Constructeur : public Socket ( InetAddress server, int port ) throws IOException ; /* Demande de connexion au serveur TCP dont l adresse est server et qui est à l écoute sur port */ Méthode d échange de données : public InputStream getinputstream (); /* renvoyer un flus d entrée pour lire les messages * public OutputStream getoutputstream (); /* renvoyer un flus d entrée pour l envoi de messages */ R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
31 Serveur TCP : exemple Communication TCP public class EchoServer { public static void main ( String [] args ) { ServerSocket sersoc ; DataInputStream in; PrintStream out ; Socket soc ; try { sersoc = new ServerSocket ( Integer. parseint ( args [0])); while ( true ) { soc = sersoc. accept (); in = new DataInputStream ( soc. getinputstream ()); out = new PrintStream ( soc. getoutputstream ()); R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
32 Serveur TCP : exemple Communication TCP while ( true ) { String ligne = in. readline (); out. println (" ECHO : "+ ligne ); } } } catch ( Exception e) { } } } R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
33 Client TCP : exemple Communication TCP public class EchoClient { public static void main ( String [] args ) { Socket soc ; DataInputStream in; DataInputStream userinput ; PrintStream out ; String ligne ; try { soc = new Socket ( args [0], Integer. parseint ( args [1])); in= new DataInputStream ( soc. getinputstream ()); out = new PrintStream ( soc. getoutputstream ()); userinput = new DataInputStream ( System. in ); R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
34 Client TCP : exemple Communication TCP while ( true ) { ligne = userinput. readline (); if ( ligne. equals (".")) break ; out. println ( lingo ); System. out. println (in. readline ()); } } catch ( UnknownHostException e) { } catch ( IOException e) { } } } R. Kanawati (LIPN) Programmation réseau en java December 17, / 34
Le 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étailPour 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é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é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é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é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é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é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é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é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é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é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étailLA COUCHE TRANSPORT CONTRÔLE LE FLOT DE DONNEES TRANSMISES par la couche Réseau
M1 Informatique Réseaux Cours 6 Couche Transport : TCP et UDP Notes de Cours LA COUCHE TRANSPORT CONTRÔLE LE FLOT DE DONNEES TRANSMISES par la couche Réseau dans le but d offrir des garanties de service
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é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é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é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é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étaille minimum pour communiquer par réseau (sans toutefois y comprendre grand chose)
L API socket en résumé le minimum pour communiquer par réseau (sans toutefois y comprendre grand chose) Fabrice HARROUET École Nationale d Ingénieurs de Brest http://www.enib.fr/~harrouet/ enib 1/58 Propos
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é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é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étailProgrammation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
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é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é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é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é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é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é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é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é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é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é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é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é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é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étailIntroduction. Adresses
Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom
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étailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailIntroduction au langage Java
Introduction au langage Java 1 Introduction : Langage développé par Sun et purement orienté objet. N a pas de rapport direct avec Javascript développé par Netscape. Les applications java peuvent être des
Plus en détailAndroid UIThread, Thread, Handler et AsyncTask
Android UIThread, Thread, Handler et AsyncTask jean-michel Douin, douin au cnam point fr version : 21 septembre 2012 Notes de cours 1 Bibliographie utilisée http://developer.android.com/resources/index.html
Plus en détailOS Réseaux et Programmation Système - C5
OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement
Plus en détailInternet Protocol. «La couche IP du réseau Internet»
Internet Protocol «La couche IP du réseau Internet» Rôle de la couche IP Emission d un paquet sur le réseau Réception d un paquet depuis le réseau Configuration IP par l administrateur Noyau IP Performance
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étailIntégration d'un système d'audio-vidéo conférence sur un robot de téléprésence
Rapport de stage de 2ème année : Intégration d'un système d'audio-vidéo conférence sur un robot de téléprésence Gerontechnology Research Center, Yuan Ze University, Taiwan Kévin Ham Stage effectué du :
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é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étailChapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet
Chapitre I La couche réseau 1. Couche réseau 1 Historique de l Internet Né 1969 comme projet (D)ARPA (Defense) Advanced Research Projects Agency; US Commutation de paquets Interconnexion des universités
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étailII/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)
II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection) II.2/ Description des couches 1&2 La couche physique s'occupe de la transmission des bits de façon brute sur un canal de
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é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é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é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étailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
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é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é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étailJava 1.5 : principales nouveautés
Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés
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é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étailRemote Method Invocation en Java (RMI)
Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation
Plus en détailTR2 : Technologies de l'internet. Chapitre VI. NAT statique et dynamique Overloading (PAT) Overlapping, port Forwarding Serveur Proxy, DMZ
TR2 : Technologies de l'internet Chapitre VI NAT statique et dynamique Overloading (PAT) Overlapping, port Forwarding Serveur Proxy, DMZ 1 NAT : Network Address Translation Le NAT a été proposé en 1994
Plus en détailVoIP et "NAT" VoIP et "NAT" 1/ La Traduction d'adresse réseau. 1/ La traduction d'adresse réseau. 1/ La traduction d'adresse réseau
VoIP et "NAT" VoIP et "NAT" Traduction d'adresse dans un contexte de Voix sur IP 1/ La Traduction d'adresse réseau("nat") 3/ Problèmes dus à la présence de "NAT" 1/ La Traduction d'adresse réseau encore
Plus en détailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
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étailRAPPORT DE STAGE DE TROISIEME ANNEE EFFECTUE A
Janvier 2000 E.N.S.E.R.B. Filière Electronique DE TROISIEME ANNEE EFFECTUE A école nationale supérieure d électronique et de radioélectricité de Bordeaux 1, avenue du docteur Albert Schweitzer 33402 Talence-Cedex
Plus en détailCahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7
Cahier des charges driver WIFI pour chipset Ralink RT2571W sur hardware ARM7 RevA 13/03/2006 Création du document Sylvain Huet RevB 16/03/2006 Fusion des fonctions ARP et IP. SH Modification des milestones
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étail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
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é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é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é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étailProgramme Compte bancaire (code)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public
Plus en détailIntérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT
Administration Réseau Niveau routage Intérêt du NAT (Network Address Translation) Possibilité d utilisation d adresses privées dans l 4 2 1 Transport Réseau Liaison Physique Protocole de Transport Frontière
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étailDéveloppement d un outil de supervision d un système d exploitation (Tunisie Télécom)
REPUBLIQUE TUNISIENNE ***** MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE ***** UNIVERSITE VIRTUELLE DE TUNIS ***** RAPPORT DE PROJET DU FIN D ETUDES Sujet : Développement d un
Plus en détailLier Erlang avec d autres langages de programmation
16 Lier Erlang avec d autres langages de programmation Les logiciels actuels, quelle que soit leur taille, sont souvent écrits dans plusieurs langages de programmation. Généralement, les pilotes de périphériques
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étailRappels réseaux TCP/IP
Rappels réseaux TCP/IP Premier Maître Jean Baptiste FAVRE DCSIM / SDE / SIC / Audit SSI jean-baptiste.favre@marine.defense.gouv.fr CFI Juin 2005: Firewall (1) 15 mai 2005 Diapositive N 1 /27 Au menu Modèle
Plus en détailSystèmes et Réseaux (ASR 2) - Notes de cours Cours 14
Systèmes et Réseaux (ASR ) - Notes de cours Cours Anne Benoit May, 0 PARTIE : Systèmes PARTIE : Réseaux Architecture des réseaux de communication La couche -liaison La couche -réseau Algorithmes de routage
Plus en détailAPI04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture
API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant
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étailService de noms des domaines (Domain Name System) Cours administration des services réseaux M.BOUABID, 09-2014
Service de noms des domaines (Domain Name System) Cours administration des services réseaux M.BOUABID, 09-2014 Problématique Pour communiquer avec une machine, il faut connaître son adresse IP. comment
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étailDéveloppement Web. Les protocoles
Développement Web NFA016 2007-2008 Les protocoles CNAM le 28 octobre 2007 O. Pons S. Rosmorduc M. Simonot 1 / 27 Notion de protocole Un réseau : ensemble de machines reliées entre elles. Communiquer :
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étailProtocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).
Chapitre 5 Protocoles réseaux Durée : 4 Heures Type : Théorique I. Rappel 1. Le bit Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1). 2. L'octet C'est un ensemble de 8 bits.
Plus en détailProgrammation répartie RPC & RMI
Programmation répartie RPC & RMI Plan du cours Introduction Définitions Problématiques Architectures de distribution Distribution intra-applications Notion de processus Programmation multi-thread Distribution
Plus en détailLe MSMQ. Version 1.0. Pierre-Franck Chauvet
Le MSMQ Version 1.0 Z Pierre-Franck Chauvet 2 [Le MSMQ] [Date : 10/10/09] Sommaire 1 Introduction... 3 2 Le Concept... 5 2.1 Les messages... 5 2.2 Les files d attentes... 5 2.3 WorkGroup... 7 2.4 Active
Plus en détailAndroid et le Cloud Computing
Android et le Cloud Computing 1 Plan de l'exposé Rappels sur Android et le cloud Présentation de GCM Notions fondamentales de GCM Construire un projet GCM Ecrire un client GCM (récepteur GCM) Ecrire un
Plus en détailM1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia
M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia Olivier Togni Université de Bourgogne, IEM/LE2I Bureau G206 olivier.togni@u-bourgogne.fr 24 mars 2015 2 de 24 M1 Informatique, Réseaux Cours
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étailProgrammation avec des objets : Cours 7. Menu du jour
1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailCouche Transport TCP et UDP
Partie 7: Couche Transport TCP et UDP Ahmed Mehaoua - 1 Le Modèle OSI Application Présentation Session Transport Réseau Liaison Physique Application Présentation Session Transport Réseau Liaison Physique
Plus en détail