Programmation Socket en Java
|
|
- Raphaël Mongrain
- il y a 8 ans
- Total affichages :
Transcription
1 Programmation Socket en Java Cours sockets Université Paul Sabatier
2 Plan Un bon réflexe Les adresses IP en Java Sockets en mode flot La classe Socket La classe ServerSocket Communication via les Sockets Fermeture d une Socket Client Socket en mode flot Serveur Socket en mode flot Sockets en mode datagramme La classe DatagramSocket Communication via les Sockets Fermeture d une Socket Client Socket en mode datagramme Serveur Socket en mode datagramme 83
3 Un bon réflexe Usez et Abusez de l aide en ligne Java : Contient les classes Java : Les interfaces Les constructeurs Les méthodes de la classe Les classes filles et parent 84
4 Informations diverses Le principe est proche des sockets C L utilisation des fonctionnalités réseau de Java nécéssite l importation de java.net.ce_dont_vous_avez_besoin; 85
5 Les adresses IP en Java 1/4 Représentés par la classe java.net.inetaddress Contient 2 champs : hostname Stocke le nom de l hôte (ex: address Stocke l adresse IP de l hôte Pas de constructeurs publics. Pour créer une InetAddress, il faut utiliser une des méthodes suivantes : public static InetAddress getbyname(string nom_hote) public static InetAddress [] getallbyname(string nom_hote) public static InetAddress getlocalhost() 86
6 Les adresses IP en Java 2/4 public static InetAddress getbyname (String nom_hote) Cette méthode utilise le DNS pour renvoyer une instance de la classe InetAddress contenant l adresse IP de la machine dont le nom est passé en paramètre En cas d erreur, lève l exception UnknownHostException Exemple : InetAddress adr = InetAddress.getbyName( ); 87
7 Les adresses IP en Java 3/4 public static InetAddress getbyname [] (String nom_hote) Renvoie toutes les adresses IP de la machine (dont le nom est passé en paramètre) En cas d erreur, lève l exception UnknownHostException public static InetAddress getlocalhost () Renvoie une instance de la classe InetAddress contenant l adresse IP de la machine locale En cas d erreur, lève l exception UnknownHostException Équivalent à : getbyname(null) getbyname("localhost") 88
8 Les adresses IP en Java 4/4 public String gethostname () Renvoie la chaine de caractères contenant le nom de la machine locale Renvoie l adresse IP de la machine si elle n a pas de nom public byte [] getaddress () Renvoie l adresse IP de la machine locale sous forme de tableau d octets rangés selon l ordre réseau Le premier octet contient l octet de poids fort de l adresse Remarque : La manipulation d octets non signés pose problème en Java car il n y a pas d équivalent au type C unsigned char. Les octets supérieurs à 127 sont donc traités comme des nombres négatifs! Pour récupérer les bonnes valeurs : int octetnonsigne = octet < 0? octet : octet; 89
9 Sockets en mode flot Utilisation de TCP (dans ce cours ) Principe : Création des sockets Positionnement des flux d entrée et de sortie Une fois les flux d entrée et de sortie liés, le principe est IDENTIQUE à : Une saisie au clavier pour la réception Un affichage à l écran pour l envoi On peut utiliser des méthodes standards! 90
10 Socket en mode flot (client) Création de la socket Attachement de la socket Construction de l adresse du serveur Si échec Demande de connexion Si OK Envoi/Réception de données via la socket Fermeture de la socket 91
11 La classe Socket 1/5 Socket en mode flot (TCP) Représente les sockets clients ou les sockets de service Constructeurs : public Socket (String hote, int port) throws UnknownHostException, IOException Crée un socket et tente de s y connecter. Lève les exceptions : UnkownHostException = si le nom de la machine est inconnu IOException = pour la plupart des autres raisons: L hôte refuse la connexion Problème de connexion Erreur de routage des paquets Paramètres : String hote = chaine de caractère contenant le nom de l hôte int port = port de destination (port auquel la socket doit se connecter) Exemple : Socket lasocket = new Socket( ), 47); 92
12 La classe Socket 2/5 constructeurs suite public Socket (InetAddress addresse, int port) throws IOException Crée un socket et tente de s y connecter. Lève l exception IOException Paramètres : InetAddress adresse = InetAddress contenant l adresse de l hôte int port = port de destination (port auquel la socket doit se connecter) 93
13 La classe Socket 3/5 constructeurs suite public Socket(String hote, int port, InetAddress addresselocale, int portlocal) throws IOException Analogue au constructeur Socket(String hote, int port) Les deux derniers paramètres permettent de choisir l interface réseau (et le port) d où doit partir la connexion Lève l exception IOException Paramètres : String hote = chaine de caractère contenant le nom de l hôte int port = port de destination (port auquel la socket doit se connecter) InetAddress adresselocale = InetAddress contenant l adresse locale à partir de laquelle la connexion doit se faire int portlocal = port local (port à partir duquel la socket doit se connecter) 94
14 La classe Socket 4/5 constructeurs suite public Socket(InetAddress address, int port, InetAddress addresselocale, int portlocal) throws IOException Analogue au constructeur Socket(InetAddress address, int port) Les deux derniers paramètres permettent de choisir l interface réseau (et le port) d où doit partir la connexion Lève l exception IOException Paramètres : InetAddress adresse = InetAddress contenant l adresse de l hôte int port = port de destination (port auquel la socket doit se connecter) InetAddress adresselocale = InetAddress contenant l adresse locale à partir de laquelle la connexion doit se faire int portlocal = port local (port à partir duquel la socket doit se connecter) 95
15 La classe Socket 5/5 constructeurs suite protected Socket() Et protected Socket(SocketImpl impl) throws SocketException Constructeurs protégés Crée un socket MAIS ne tente pas de connexion Souvent employé pour implanter des sockets au comportement personnalisé (chiffrement, proxy ) 96
16 La classe Socket 6/8 méthodes Réception d un flux d information d une Socket Java TCP public InputStream getinputstream() throws IOException Cette méthode permet de récupérer le flux en provenance d une socket Il faut lier ce flux à un lecteur! Exemple InputStreamReader, BufferedReader Conseil : lier l InputStream à un flux offrant de meilleures fonctionnalités comme DataInputStream par exemple Exemple : DataInputStream flux_in = new DataInputStream(chaussette.getInputStream)); 97
17 La classe Socket 7/8 méthodes suite Envoi d informations dans une Socket Java TCP : public OutputStream getoutputstream() throws IOException Cette méthode permet de récupérer le flux en sortie vers une socket Il faut lier ce flux à un writer! Exemple PrintStream Conseil : lier l OutputStream à un flux offrant de meilleures fonctionnalités comme PrintStream par exemple Exemple : PrintStream flux_out = new PrintStream(chaussette.getOutputStream)); 98
18 La classe Socket 8/8 méthodes suite Fermeture de la Socket public void close() throws IOException Même si Java ferme les sockets à la fin du programme (ou via le Garbage collect), il est DE BON USAGE de fermer EXPLICITEMENT les socket via la méthode close. Valable pour tous les types de Sockets Sockets de service Sockets clients Sockets serveurs (ServerSockets) 99
19 Exemple de programme client (non complet) import java.io.*; import java.net.*; public class ClientEcho extends Object { public static void main (String args[]) { String reponse; Socket lesocket; PrintStream fluxsortiesocket; BufferedReader fluxentreesocket; try { // creation d une socket et connexion à la machine marine sur le port 7 lesocket = new Socket("marine.edu.ups-tlse.fr", 7); System.out.println("Connecté sur : "+lesocket); // création d un flux de type PrintStream lié au flux de sortie de la socket fluxsortiesocket = new PrintStream(leSocket.getOutputStream()); // creation d un flux BufferedReader lié au flux d entrée de la socket fluxentreesocket = new BufferedReader(new InputStreamReader(leSocket.getInputStream())); // envoi de données vers le serveur fluxsortiesocket.println("bonjour le monde!"); // attente puis réception de données du serveur reponse = fluxentreesocket.readline(); System.out.println("Reponse du serveur : " + reponse); lesocket.close(); } // try catch (UnknownHostException ex) { System.err.println("Machine inconnue : "+ex); ex.printstacktrace(); } catch (IOException ex) { System.err.println("Erreur : "+ex); ex.printstacktrace(); } } // main } // class 100
20 Socket en mode flot (serveur) Création de la socket Attachement de la socket d écoute Ouverture du service Attente d une demande de connexion et création d une socket de service ou Envoi/Réception de données via la socket de service Fermeture de la socket de service ou Fermeture de la socket d écoute 101
21 La classe ServerSocket 1/4 Représente les sockets serveurs (Sockets d écoute) Constructeurs : public ServerSocket (int port) throws IOException Crée un socket serveur qui attendra une connexion sur le port passé en paramètre Lève l exception IOException Notamment si le port choisi est déjà pris Ou si le port choisi est well-known (valeur < 1024) et vous n êtes pas super-utilisateur Paramètre : int port = port d écoute Si la valeur est 0, le système alloue dynamiquement le port (solution PEU conseillée pour un serveur) Exemple : ServerSocket s_serveur = new ServerSocket(47); 102
22 La classe ServerSocket 2/4 constructeurs suite public ServerSocket (int port, int taillefile) throws IOException Analogue au précédent Permet de préciser la longueur de la file d attente des requêtes de connexion Si la file est pleine et qu une connexion arrive, elle est refusée. Lève l exception IOException Notamment si le port choisi est déjà pris Ou si le port choisi est well-known (valeur < 1024) et vous n êtes pas super-utilisateur Paramètres : int port = port d écoute Si la valeur est 0, le système alloue dynamiquement le port (solution PEU conseillée pour un serveur) int taillefile = taille de la file d attente de connexions entrantes Par défaut fixé à 50 Plafonnée à la limite du système 103
23 La classe ServerSocket 3/4 constructeurs suite public ServerSocket (int port, int taillefile, InetAddress adresselocale) throws IOException Analogue au précédent Permet de préciser l adresse IP à laquelle attendre des connexions si la machine locale en possède plusieurs Lève l exception IOException Paramètres : int port = port d écoute Si la valeur est 0, le système alloue dynamiquement le port (solution PEU conseillée pour un serveur) int taillefile = taille de la file d attente de connexions entrantes InetAddress adresselocale = adresse IP où attendre les connexions Cette adresse doit appartenir à la machine locale 104
24 La classe ServerSocket 4/4 méthodes Accepter une connexion entrante public Socket accept() throws IOException Bloque l exécution du serveur dans l attente d une connexion entrante Renvoie un objet Socket lorsque la communication est établie Note : Pour ne pas bloquer l exécution du programme par le accept, le placer dans un thread spécifique Fermer la socket Identique à la méthode de la classe Socket 105
25 Exemple de programme serveur (non complet) import java.io.*; import java.net.*; public class ServeurEcho extends Object { public static void main (String args[]) { ServerSocket socketecoute; Socket socketservice; InputStream entreesocket; OutputStream sortiesocket; try { // création du socket d écoute (port numéro 7) socketecoute = new ServerSocket(7); while (true) { // attente d une demande de connexion socketservice = socketecoute.accept(); System.out.println("Nouvelle connexion : " + socketservice); // récupération des flux d entrée/sortie de la socket de service entreesocket = socketservice.getinputstream(); try { int b = 0; while (b!= -1) { b = entreesocket.read(); sortiesocket.write(b); } // while System.out.println("Fin de connexion"); } // try catch (IOException ex) { // fin de connexion System.out.println("Fin de connexion : "+ex); ex.printstacktrace(); } socketservice.close(); } // while (true) } // try catch (Exception ex) { // erreur de connexion System.err.println("Une erreur est survenue : "+ex); ex.printstacktrace(); } } // main } // class 106
26 EXERCICE : Écrire un programme client permettant d interroger un serveur daytime dont l adresse est fournie en paramètre Écrire un programme serveur de type daytime. 107
27 Sockets en mode datagramme (UDP) Chaque processus doit créer une socket et l utilise pour envoyer (ou attendre et recevoir) des données Manipulation de datagrammes Via les objets DatagramPacket 108
28 La classe DatagramSocket 1/2 Permet de créer et manipuler des sockets UDP Constructeurs : public DatagramSocket() throws SocketException Crée un socket UDP permettant l envoi et la réception de datagrammes. Lève l exception SocketException : Si il y a un problème de configuration réseau Un problème de port Attention : Avec ce constructeur, le système attribue lui-même le port 109
29 La classe DatagramSocket 2/2 Constructeurs : public DatagramSocket (int port) throws SocketException Analogue au précédent Permet de choisir le port UDP Lève l exception SocketException Paramètre : int port = port Si la valeur est 0, le système alloue dynamiquement le port public DatagramSocket (int port, InetAddress adresse) throws SocketException Analogue au précédent Mais permet en plus de choisir l adresse IP liée au port Lève l exception SocketException Paramètre : int port = port InetAddress adresse = adresse IP utilisée par la socket UDP 110
30 La classe DatagramPacket 1/3 Permet de manipuler les datagrammes échangés entre les correspondants Constructeurs : public DatagramPacket (byte[] tampon, int lg) Crée un objet employé pour la réception d un datagramme Paramètres : byte[] tampon = tableau d octets permettant la réception des données ATTENTION : Si la taille du tableau est insuffisante, les données seront tronquées int lg = taille du tableau (ou des données à recevoir) Exemple : byte[] tampon = new byte[1024]; DatagramPacket datagramme = new DatagramPacket(tampon, tampon.length); 111
31 La classe DatagramPacket 2/3 Constructeurs : public DatagramPacket (byte[] tampon, int lg, InetAddress adresse, int port) Crée un objet employé pour l envoi d un datagramme Paramètres : byte[] tampon = tableau d octets contenant les données à envoyer int lg = taille du tableau (ou des données à envoyer) InetAddress adresse = adresse où envoyer le datagramme int port = port de destination Exemple : String message = coucou!!! ; byte[] tampon = message.getbytes(); InetAddress adresse = InetAddress.getByName( moncorrepsondant.fr ); DatagramPacket datagramme = new DatagramPacket(tampon, tampon.length, adresse, 45848); 112
32 La classe DatagramPacket 3/3 Emission/Réception de datagrammes Méthodes : public void send (DatagramPacket p) throws IOException Envoie un datagramme passé en paramètre Lève l exception IOException en cas d erreur Paramètres : DatagramPacket p = datagramme prêt à l envoi public void receive (DatagramPacket p) throws IOException Attends la réception d un datagramme et remplie la datagramme passé en paramètre par les données reçues Lève l exception IOException en cas d erreur Paramètres : DatagramPacket p = datagramme «vide» prêt recevoir les données 113
33 Fermeture de la Socket UDP public void close() throws IOException Même si Java ferme les DatagramSocket à la fin du programme (ou via le Garbage collect), il est DE BON USAGE de fermer EXPLICITEMENT les DatagramSockets via la méthode close une fois qu ils ne sont plus utiles. 114
34 Exemple de programme d envoi de datagrammes (non complet) import java.net.*; import java.io.*; class EnvoiDatagramme { public static void main(string argv[]) throws SocketException, IOException, UnknownHostException { String message = "Bonjour le monde!"; byte[] tampon = ligne.getbytes(); InetAddress adresse = null; DatagramSocket socket; // recupère l adresse IP de la machine marine adresse = InetAddress.getByName("marine.edu.ups-tlse.fr"); // crée l objet qui stockera les données du datagramme à envoyer DatagramPacket envoi= new DatagramPacket(tampon,tampon.length,adresse,50000); // crée un socket UDP (le port est choisi par le système) socket=new DatagramSocket(); } } // envoie le datagramme UDP socket.send(envoi); 115
35 Exemple de programme de réception de datagrammes (non complet) import java.net.*; import java.io.*; class ReceptionDatagramme { public static void main(string argv[]) throws SocketException, IOException { byte[] tampon = new byte[1000]; String texte; } // crée un socket UDP qui attends des datagrammes sur le port DatagramSocket socket =new DatagramSocket(50000); // crée un objet pour stocker les données du datagramme attendu DatagramPacket reception = new DatagramPacket(tampon, tampon.length); // attends puis récupère les données du datagramme socket.receive(reception); // récupère la chaîne de caractère reçue // Note: reception.getlength() contient le nombre d octets reçus texte=new String(tampon, 0, reception.getlength()); System.out.println("Reception de la machine "+ reception.getaddress().gethostname()+" sur le port" +reception.getport() + " :\n"+texte ); } 116
36 EXERCICE : Écrire un programme client permettant d interroger un serveur daytime dont l adresse est fournie en paramètre Écrire un programme serveur de type daytime. 117
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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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étailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
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étailProgrammation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
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é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 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étailIFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse
IFT287 Exploitation de base de données relationnelles et orientées objet Laboratoire Mon premier programme Java en Eclipse Comment faire? Nous allons utiliser l environnement de travail proposé par Eclipse
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étailApplet pour visualiser les variables «automate» notifiées
Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage
Plus en détailProgrammation Réseau. ! UFR Informatique ! 2013-2014. Jean-Baptiste.Yunes@univ-paris-diderot.fr
Programmation Réseau Jean-Baptiste.Yunes@univ-paris-diderot.fr! UFR Informatique! 2013-2014 1 Programmation Réseau Introduction Ce cours n est pas un cours de réseau on y détaillera pas de protocoles de
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 à 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é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é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é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é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étailBases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions
Langage JAVA Bases du langage Opérations sur les fichiers Réseau Multi-tâche Logiciel: interfaces... Gestion des périphériques (méthodes natives) Accès aux bases de données Bases du langage Historique
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é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é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 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é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é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é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étailTP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
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étailTP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX
TP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX Enseignant: Ramzi BELLAZREG 1 La commande PING Cette commande permet de vérifier si un hôte est joignable ou non. Cette commande est basée sur le protocole
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étail1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau
1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau Fonctionnement de l Internet Fonctionnement de l Internet Basé sur une architecture TCP/IP du nom des deux principaux protocoles
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é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étailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
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étailSécurité et Firewall
TP de Réseaux IP pour DESS Sécurité et Firewall Auteurs: Congduc Pham (Université Lyon 1), Mathieu Goutelle (ENS Lyon), Faycal Bouhafs (INRIA) 1 Introduction: les architectures de sécurité, firewall Cette
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é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étailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailInternet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier
Plan Internet - Outils Nicolas Delestre 1 DHCP 2 Firewall 3 Translation d adresse et de port 4 Les proxys 5 DMZ 6 VLAN À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier 7 Wake On Line
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étailLOG4430 : Architecture logicielle et conception avancée
LOG4430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Cours 3 Bibliothèques et chargement Dynamique de composants Département de génie informatique et de génie logiciel École Polytechnique
Plus en détailProgrammation impérative
Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailInstallation et paramétrage de Fedora dans VirtualBox.
1. Installation de Fedora: Installation et paramétrage de Fedora dans VirtualBox. Télécharger le fichier «Fedora 13.iso» sur votre Bureau. Ensuite ouvrez le logiciel VirtualBox et choisir la machine virtuelle
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étailProgrammation système de commandes en C
Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes
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étailAnnée Universitaire 2010-2011 session 1 d automne Parcours : CSB5 Licence 3 STS Informatique
Année Universitaire 2010-2011 session 1 d automne Parcours : CSB5 Licence 3 STS Informatique UE : INF157 Épreuve : Examen Utilisation des réseaux Date : 13 décembre 2010 Heure : 8h30 Durée : 1h30 Modalités
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étailL annuaire et le Service DNS
L annuaire et le Service DNS Rappel concernant la solution des noms Un nom d hôte est un alias assigné à un ordinateur. Pour l identifier dans un réseau TCP/IP, ce nom peut être différent du nom NETBIOS.
Plus en détailTraitement de données
Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules
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é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é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é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étailet se trouve popularisé rapidement pour ses possibilités de développement liés au Web. Les
Chapitre 3 Java, langage de développement objet 3.1 Présentation de Java 3.1.1 Objectifs Le langage Java a été développé afin de pouvoir générer des applications qui soient indépendantes des machines et
Plus en détailFonctionnement Kiwi Syslog + WhatsUP Gold
Fonctionnement Kiwi Syslog + WhatsUP Gold Configuration Kiwi Syslog server Pour configurer Kiwi Syslog server, commencez par cliquer sur l icône setup de la barre des taches : La fenêtre de configuration
Plus en détailDHCP et NAT. Cyril Rabat cyril.rabat@univ-reims.fr. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013
DHCP et NAT Cyril Rabat cyril.rabat@univ-reims.fr Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 22-23 Cours n 9 Présentation des protocoles BOOTP et DHCP Présentation du NAT Version
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étailCommunication par sockets
Rappel : le réseau vu de l!utilisateur (1) Communication par sockets Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia (demande un service)
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
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é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étailChap.9: SNMP: Simple Network Management Protocol
Chap.9: SNMP: Simple Network Management Protocol 1. Présentation 2. L administration de réseau 3. Les fonctionnalités du protocole 4. Les messages SNMP 5. Utilisation de SNMP 1. Présentation En 1988, le
Plus en détail