TP: Client/Serveur sur TCP

Dimension: px
Commencer à balayer dès la page:

Download "TP: Client/Serveur sur TCP"

Transcription

1 TP: Client/Serveur sur TCP Applications Distribuées D. Pellier Objectifs : Il s agit dans ce TP d implémenter une application client/serveur de remise de fichiers en utilisant les services du protocole TCP (protocole de niveau transport en mode connecté, de type flot d octets). Pour cela, il va falloir : 1. mettre en place les programmes, tester la connexion sans rien transférer. 2. implémenter des transferts simples (un entier, une chaîne de caractères). 3. implémenter le transfert d un fichier de petite taille selon un protocole imposé. 4. implémenter le transfert d un fichier de grande taille selon un protocole que vous définirez. Nous rappelons que la documentation de l API Java est accessible à l adresse : j2se/1.5.0/docs/api/. 1 Mise en place de l environnement Copier dans votre répertoire /AD/TP2/ le fichier TP2.tar.gz. Les éléments contenus dans ce fichier sont : 1. ClientFileTransfer.java : programme principal client, qui sera à compléter ; 2. SserverFileTransfer.java : serveur qui utilise la classe FileTransferService.java. Le programme serveur peut être lancé soit en mode itératif soit en mode parallèle ; 3. FileTransferService.java : classe service appelée par le serveur et qui sera à compléter ; 4. FileTransferConstants.java : une interface qui définit les constantes manipulées par le protocole de transfert de fichier ; 5. emission/ : répertoire qui contiendra les fichiers susceptibles d être envoyés au serveur ; 6. reception/ : répertoire qui contiendra les fichiers que le serveur recevra. Examiner le programme ClientFileTranfer.java (voir annexe). Pour exécuter ce programme, des arguments sont nécessaires. Lesquels? Examiner le programme ServerFileTransfer.java (voir annexe). Pour exécuter ce programme, des arguments sont nécessaires. Lesquels? 2 Tests des programmes Il s agit uniquement de mettre en place les éléments minimaux et vérifier que vous parvenez effectivement à ouvrir, maintenir, et fermer une connexion TCP entre un serveur et un client. 2.1 Test du serveur itératif Pour simuler un échange entre le client et le serveur qui ait une durée sensible, commencer par ajouter un délai de 2 seconde dans la méthode doservice() de la classe FileTransferService.java. Pour cela, nous allons nous appuyer sur la méthode sleep() de la classe Thread :

2 U.F.R Mathématiques et Informatique: Programmation Orientée Objets 2 try { Thread.sleep(2000); } catch (InterruptedException ie) { System.err.println(ie); } 1. Compiler et exécuter le serveur ServerFileTransfer.java. 2. Dans une nouvelle fenêtre, compiler et exécuter le client ClientFileTransfer.java. 3. Exécuter de nouveau le client, mais cette fois, donner en paramètre un numéro de port incorrect. Que se passe-t-il? 2.2 Traitement de plusieurs clients par le serveur en mode itératif L objectif est de mettre en évidence ce qui se passe si un client essaie de se connecter alors qu un autre client est déjà connecté. 1. Augmenter les délais (par exemple 10 secondes) dans FileTransferService.java et insérer un délai dans ClientFileTransfer.java afin d avoir le temps de lancer un client, puis un second avant que le premier ne se termine. 2. Lancer un client, puis un autre avant que le premier ait terminé, donc avant que le serveur se soit remis en écoute 3. Le deuxième client est-il finalement accepté par le serveur? Expliquer pourquoi? 2.3 Test du serveur en mode parallèle Reprendre maintenant les essais précédents avec le serveur transfert fichier en mode parallèle. Aucune modification n est à apporter si ce n est de modifier l argument isiteratif à la création de l instance de la classe ServerFileTransfer. Ouvrir plusieurs communications simultanées et noter la différence de comportement importante entre le serveur itératif et le serveur parallèle quand un client se connecte alors qu un autre est déjà connecté. 2.4 Longueurs des tampons TCP Il sera utile pour la suite de calculer et aussi d afficher les longueurs des tampons (buffers) TCP. Les longueurs par défaut des buffers TCP sont définies par des variables initialisées par le système d exploitation. Elles peuvent être modifiées via l interface des sockets, mais ne le seront cependant pas dans ce TP. 1. Modifier ClientFileTransfer.java et ServerFileTransfer.java de façon à enregistrer dans des variables les longueurs par défaut des buffers émission et réception de votre station. Pour trouver les méthodes permettant d accéder à ces informations, étudier la documentation de la classe Socket. 2. Faire afficher les valeurs obtenues et noter : Tampon client émission Tampon client réception Tampon serveur émission Tampon serveur réception octets 3. Est ce que ces valeurs vous semblent importantes? 3 Tests de transferts simples Le but de ce paragraphe est simplement de vous apprendre à vous servir des méthodes des classes DataOutputStream et DataInputStream. La classe DataOutputStream permet d écrire des données et

3 U.F.R Mathématiques et Informatique: Programmation Orientée Objets 3 DataInputStream de les lire, en distinguant leur type. Remarque. 1 Il est important de noter que le format d encodage des données transmises entre le client et le serveur doit être identique. Par exemple, l encodage utilisé pour les caractères par défaut sur les stations linux est ISO Donnée de longueur statique 1. Transférer un entier (4 octets) du client vers le serveur. 2. Transférer un octet (1 Byte) du client vers le serveur. Remarque. 2 Un ń entier Internet ż est codé sur 4 octets, sa longueur est donc statique. 3.2 Donnée de longueur dynamique Si la longueur de la donnée n est pas connue a priori, le récepteur ne saura pas combien d octets retirer. Ce sera le cas, lors du transfert d un fichier, puisque aussi bien le nom de fichier que son contenu sont de longueur dynamique. En d autres termes, ils ne sont connus qu au moment de l exécution. En prenant en compte cette considération, réaliser le transfert d une chaîne de caractères du client vers le serveur : Pour le client : une solution simple consiste à écrire dans un premier temps la longueur N de la chaîne (writeint(int e)), suivie de la chaîne elle-même (write(byte[] bytes)) ; Pour le serveur : on lit en premier la longueur N de la chaîne, puis les N octets de la chaîne qu on rangera dans un tableau de type Bytes de taille N. Penser à déclarer dynamiquement ce tableau de N octets. 4 Transfert d un fichier de petite taille On envisage ici le transfert d un fichier dont la longueur du contenu (la taille) est inférieure à une valeur désignée par MAX_DATA_LENGTH, elle-même inférieure à la longueur du tampon TCP réception du serveur. 4.1 Définition du protocole Le protocole de niveau application qu on vous demande d implémenter impose un format pour les messages ainsi que les codes du ń champ CONTROL ż (1 octet) commun à tous les messages. Voici ce format : 1. Messages de données : du serveur au client pour lui indiquer la taille max MAX_DATA_LENGTH qu il accepte : CONTROL MAX_DATA_LENGTH 1 octet 4 octets S_PARAMS entier du client au serveur pour envoyer le fichier : CONTROL NAME_LENGTH NAME DATA_LENGTH DATA 1 octet 4 octets NAME_LENGTH 4 octets DATA_LENGTH C_DATA entier octets entier octets 2. Messages de contrôle, aussi bien pour le client que pour le serveur (ń champ CONTROL ż uniquement, 1 octet) : C_PROTOCOL_ERROR, C_LEAVE, S_PROTOCOL_ERROR, S_SUCCESS, S_FAILURE.

4 U.F.R Mathématiques et Informatique: Programmation Orientée Objets 4 Voici maintenant, la spécification de l échange, quand tout se passe correctement : Client Serveur Le client reçoit les paramètres nécessaires au transfert et envoie les données concernant le fichier 2 S_PARAMS,MAX_DATA_SIZE C_DATA,NAME_LENGTH,NAME,DATA_LENGTH,DATA S_SUCCESS 1 3 Le serveur envoie les paramètres nécessaires au transfert Le serveur reçoit les données, les enregistre dans le fichier et envoie la confirmation de succès Figure 1 Cas ou le transfert se déroule normalement. Terminer la spécification du protocole en dessinant 2 autres schémas d échanges : 1. Cas où la longueur du contenu est supérieure à MAX_DATA_LENGTH : code de contrôle C_LEAVE. 2. Cas où le fichier n a pu être enregistré par le serveur : code de contrôle S_FAILURE. Ce cas correspond à un échec du transfert de fichier au niveau application. 4.2 Implémentation Maintenant, mettez en oeuvre l application en respectant le protocole et tenir compte des consignes et indications suivantes : 1. On rappelle que la valeur de MAX_DATA_LENGTH fournie par le serveur au client doit être inférieure à la longueur du buffer TCP réception du serveur. Par conséquent, MAX_DATA_LENGTH = socket.getreceivebuffersize() - MAX_HEADER_LENGTH avec MAX_HEADER_LENGTH la taille maximum de l entête. Afin de simplifier la mise en œuvre du protocole, nous prendrons comme valeur Les fichiers reçus par le serveur seront rangés dans le répertoire reception/. 3. Les fichiers envoyés par le client seront créés dans le répertoire emission/. 4. Créer un fichier pour l émission d une certaine taille, par exemple 2000 octets. 5. Le client déposera le champs DATA du message C_DATA en une seule fois, c est-à-dire avec un seul write. Il enverra le fichier seulement si la longueur de celui-ci est inférieure à la valeur de MAX_DATA_LENGTH fournie par le serveur. Autrement dit, il est nécessaire de vérifier que la longueur du contenu + MAX_HEADER_LENGTH est inférieure à la longueur du buffer TCP émission. 6. Le serveur retirera le contenu du fichier en une seule fois, c est-à-dire avec un seul read. 7. Le client ou le serveur doit pouvoir réagir correctement à un message reçu non conforme au protocole. Prévoir d envoyer un message de contrôle S_PROTOCOL_ERROR ou C_PROTOCOL_ERROR si ce cas se produit, et de traiter correctement la fermeture de la connexion TCP. Illustrez ces différents cas sous la forme d un diagramme d échanges : 5 Transfert d un fichier de grande taille A ce stade du développement, il vous est vivement recommandé de sauvegarder le résultat de l étape précédente, par exemple : > cd /reseaux > cp -R tcp tcp_petitsfichiers

5 U.F.R Mathématiques et Informatique: Programmation Orientée Objets Cahier des charges Un fichier de grande taille est un fichier dont la longueur du contenu est supérieure à celle du buffer TCP réception du serveur. Se limiter à des fichiers de taille 3 longueur buffer TCP reception du serveur, ce qui suffira pour réaliser des tests pertinents, tout en vous évitant d encombrer inutilement votre espace disque! Il est clair que le retrait du fichier en un seul read devient maintenant impossible. De plus, l action write se bloque si on dépose dans le tampon émission plus d octets que ne peut en contenir le buffer émission! Deux solutions envisageables : 1. Une première solution consisterait à agir au niveau transport sur les paramètres de fonctionnement de TCP pour provoquer l échange automatique de segments vides destinés à transmettre régulièrement l état du buffer réception du serveur par l intermédiaire d un champ Advertised Window. Cette solution nécessite de bien connaître le paramétrage de TCP via les sockets et dans la pratique dépend du système d exploitation. 2. On va utiliser pour ce TP une solution de niveau application, plus simple à définir et davantage portable, consistant à transmettre le fichier par blocs de longueur égale ou inférieure à Q octets. Le serveur acquittera systématiquement le retrait de chaque bloc, ce qui permettra à l entité TCP du client d envoyer immédiatemment (Advertised window) le bloc suivant déposé par le programme client. Voici le détail : (a) Le serveur proposera au client une longueur Q r pour les blocs qu il recevra en fonction de la longueur de son tampon réception (par exemple Q r = longueur buffer TCP réception - MAX_HEADER_LENGTH. (b) Le client proposera au serveur une taille Q e pour les blocs qu il émettra en fonction de la longueur de son tampon émission (par exemple Q e = longueur buffer TCP émission - MAX_HEADER_LENGTH). (c) Le client et le serveur devront donc au début de la connexion échanger Q r et Q e, et ensuite utiliser des blocs de longueur commune Q = min(q e, Q r ). (d) Voici plus précisemment le calcul du nombre de blocs associé à un fichier de taille N : N = Q X + R, autrement dit X = N/Q et R = Nmodulo Q Si R = 0, il y aura exactement X blocs de Q octets à transférer Si R > 0, il y aura exactement X blocs de Q octets et 1 bloc de R octets à transférer 5.2 Spécification du protocole Pour répondre au ń cahier des charges ż du paragraphe précédent, et en prenant comme modèle la spécification proposée pour les ń fichiers de petite taille ż, définir un protocole pour les ń fichiers de grande taille ż. Ce protocole devra permettre de transférer également les ń fichiers de petite taille ż. Cette spécification comprendra deux parties : 1. Format des messages (et codes du champ CONTROL). 2. Schémas correspondant aux différents cas possibles. 5.3 Implémentation Modifier les programmes client et serveur de façon à mettre en œuvre le protocole conformément au protocole de niveau application que vous avez spécifié. S assurer que l application fonctionne bien dans les cas de figure suivants : Cas d un ń petit fichier ż Cas d un ń grand fichier ż Cas d un fichier arrivé à bon port mais impossible à sauver Cas d une connexion TCP impossible à ouvrir Cas d une connexion TCP interrompue.

6 U.F.R Mathématiques et Informatique: Programmation Orientée Objets 6 Annexe ClientFileTransfer.java 1 import j a v a. i o. DataInputStream ; 2 import j a v a. i o. DataOutputStream ; 3 import j a v a. i o. F i l e ; 4 import j a v a. i o. I O E x c e p t i o n ; 5 import j a v a. n e t. I n e t A d d r e s s ; 6 import j a v a. n e t. Socket ; 7 import j a v a. n e t. UnknownHostException ; 8 9 / 10 This c l a s s implements a s i m p l e TCP c l i e n t t h a t s e n d s a f i l e to a s p e c i f i c 11 <t t >S e r v e r F i l e T r a n s f e r </t t >. 12 Damien P e l l i e r v e r s i o n 1. 0 C r e a t e d on 25 nov / 16 p u b l i c f i n a l c l a s s C l i e n t F i l e T r a n s f e r { / The s o c k e t used by t h e c l i e n t. / 19 p r i v a t e Socket s o c k e t ; / The i n p u t stream o f t h e c l i e n t s o c k e t. / 22 p r i v a t e DataInputStream s i n ; / The ouput stream o f t h e c l i e n t s o c k e t. / 25 p r i v a t e DataOutputStream s o u t ; / 28 C r e a t e a new <t t >C l i e n t F i l e T r a n s f e r </t t > w i t h t h e <t t >I n e t A d d r e s s </t t > and 29 t h e p o r t o f t h e <t t >S e r v e r F i l e T r a n s f e r </t t > to c o n t a c t. 30 a d d r e s s t h e a d d r e s s o f t h e <t t >C l i e n t F i l e T r a n s f e r </t t >. p o r t t h e p o r t o f t h e t h e <t t >C l i e n t F i l e T r a n s f e r </t t >. f i l e t h e f i l e to be s e n t. UnknownHostException i f t h e s e r v e r does not e x i s t. I O E x c e p t i o n i f an I /O e r r o r o c c u r s w h i l e t h e <t t >C l i e n t F i l e T r a n s f e r </t t > 36 i s s e n d i n g t h e f i l e. 37 / 38 p u b l i c C l i e n t F i l e T r a n s f e r ( f i n a l S t r i n g a d d r e s s, f i n a l i n t port, f i n a l F i l e f i l e ) 39 throws UnknownHostException, I O E x c e p t i o n { 40 // R e s o l v e t h e a d d r e s s 41 f i n a l I n e t A d d r e s s i n e t A d d r e s s = I n e t A d d r e s s. getbyname ( a d d r e s s ) ; 42 // C r e a t e t h e s o c k e t needed to s e n t t h e f i l e 43 t h i s. s o c k e t = new Socket ( i n e t A d d r e s s, p o r t ) ; 44 // C r e a t e a o u t p u t stream to w r i t e i n t h e s o c k e t 45 t h i s. s o u t = new DataOutputStream ( s o c k e t. getoutputstream ( ) ) ; 46 // C r e a t e a i n p u t stream to r e a d i n t h e s o c k e t 47 t h i s. s i n = new DataInputStream ( s o c k e t. g e t I n p u t S t r e a m ( ) ) ; 48 // Send t h e f i l e 49 t h i s. s e n d F i l e ( f i l e ) ; 50 // C l o s e t h e o u t p u t stream 51 t h i s. s o u t. c l o s e ( ) ; 52 // C l o s e t h e i n p u t stream 53 t h i s. s i n. c l o s e ( ) ; 54 // C l o s e s t h e s o c k e t 55 s o c k e t. c l o s e ( ) ; 56 } / 59 Sends a f i l e to t h e s e r v e r. 60 f i l e t h e f i l e to be send. I O E x c e p t i o n i f an I /O e r r o r o c c u r s. 63 / 64 p r i v a t e v o i d s e n d F i l e ( f i n a l F i l e f i l e ) throws I O E x c e p t i o n { 65 // TO DO 66 System. out. p r i n t l n ( TO DO... ) ;

7 U.F.R Mathématiques et Informatique: Programmation Orientée Objets 7 67 } / 70 Main method o f t h e <code>c l i e n t </code >. 71 a r g s t h e a r r a y o f arguments used by t h e <code>c l i e n t F i l e T r a n s f e r </code >. 73 <br />[ Usage C l i e n t F i l e T r a n s f e r HOSTNAME PORT FILE ] : <br/> 74 <ul > 75 < l i > HOSTNAME IP a d d r e s s o f t h e M e s s a g e S e r v e r.</ l i > 76 < l i > PORT p o r t to which t h e s e r v e r must be bound (1024 <= p o r t <= 65535). </ l i > 77 < l i > FILE f i l e to be s e n t.</ l i > 78 </ul > 79 / 80 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { // Command l i n e p r o c e s s i n g 83 S t r i n g a d d r e s s = n u l l ; 84 F i l e f i l e = n u l l ; 85 i n t p o r t = 0 ; i f ( a r g s. l e n g t h == 3) { 88 a d d r e s s = a r g s [ 0 ] ; 89 p o r t = I n t e g e r. p a r s e I n t ( a r g s [ 1 ] ) ; 90 f i l e = new F i l e ( a r g s [ 2 ] ) ; 91 i f (! f i l e. e x i s t s ( ) ) { 92 System. e r r. p r i n t l n ( E r r o r : t h e f i l e + f i l e. getname ( ) + does not e x i s t. ) ; 93 System. e x i t ( 0 ) ; 94 } 95 i f (! f i l e. canread ( ) ) { 96 System. e r r. p r i n t l n ( E r r o r : t h e f i l e + f i l e. getname ( ) + cannot be r e a d. ) ; 97 System. e x i t ( 0 ) ; 98 } 99 } e l s e { 100 d i s p l a y U s a g e ( ) ; 101 System. e x i t ( 0 ) ; 102 } // C r e a t e s t h e C l i e n t F i l e T r a n s f e r 105 t r y { 106 f i n a l C l i e n t F i l e T r a n s f e r c l i e n t = new C l i e n t F i l e T r a n s f e r ( a d d r e s s, port, f i l e ) ; 107 } catch ( UnknownHostException e ) { 108 System. e r r. p r i n t l n ( The s e r v e r + a d d r e s s + does not e x i s t. ) ; 109 e. p r i n t S t a c k T r a c e ( ) ; 110 } catch ( I O E x c e p t i o n e ) { 111 System. e r r. p r i n t l n ( An I /O e r r o r o c c u r s w h i l e s e n d i n g f i l e. ) ; 112 e. p r i n t S t a c k T r a c e ( ) ; 113 } 114 } / 117 D i s p l a y s t h e command l i g n e usage o f t h e <t t >C l i e n t F i l e T r a n s f e r </t t >. 118 / 119 p r i v a t e s t a t i c v o i d d i s p l a y U s a g e ( ) { 120 System. out. p r i n t ( [ Usage C l i e n t F i l e T r a n s f e r HOSTNAME PORT FILE : \ n HOSTNAME IP a d d r e s s o f t h e M e s s a g e S e r v e r. \ n PORT p o r t to which t h e s e r v e r i s bound (1024 <= p o r t <= ). \ n FILE f i l e to be s e n t. \ n ) ; 124 } 125 } ServerFileTransfer.java 1 import j a v a. i o. I O E x c e p t i o n ; 2 3 import j a v a. n e t. S e r v e r S o c k e t ; 4 import j a v a. n e t. Socket ; 5 6 / 7 This c l a s s implements a s i m p l e TCP s e r v e r t h a t r e c e i v e s f i l e from

8 U.F.R Mathématiques et Informatique: Programmation Orientée Objets 8 8 c l i e n t and w r i t e s i t on d i s k. 9 Damien P e l l i e r v e r s i o n 1. 0 C r e a t e d on 25 nov / 13 p u b l i c f i n a l c l a s s S e r v e r F i l e T r a n s f e r { / 16 C r e a t e s a new <t t >S e r v e r F i l e T r a n s f e r </t t > b i n d to a s p e c i f i c p o r t. 17 p o r t t h e p o r t t h e <t t >MessageServer </t t > i s bound. i s I t e r a t i f t h e b o o l e a n f l a g to i n d i c a t e i f t h e s e r v e r i s 20 i t e r a t i f o r c o n c u r r e n t. I O E x c e p t i o n i f an I /O e r r o r o c c u r s when o l s p e n i n g t h e 22 s o c k e t. S e c u r i t y E x c e p t i o n i f a s e c u r i t y manager e x i s t s and i t s 24 c h e c k L i s t e n method doesn t a l l o w t h e o p e r a t i o n. 25 / 26 p u b l i c S e r v e r F i l e T r a n s f e r ( f i n a l i n t port, f i n a l boolean i s I t e r a t i f ) 27 throws I O E x c e p t i o n { 28 f i n a l S e r v e r S o c k e t l i s t e n S o c k e t = new S e r v e r S o c k e t ( p o r t ) ; 29 System. out. p r i n t l n ( S e r v e r F i l e T r a n s f e r w a i t i n g c o n n e x i o n s on + p o r t +... ) ; 30 w h i l e ( t r u e ) { 31 f i n a l Socket t r a n s f e r S o c k e t = l i s t e n S o c k e t. a c c e p t ( ) ; 32 f i n a l F i l e T r a n s f e r S e r v i c e f i l e T r a n s f e r S e r v i c e = 33 new F i l e T r a n s f e r S e r v i c e ( t r a n s f e r S o c k e t ) ; 34 i f ( i s I t e r a t i f ) { 35 f i l e T r a n s f e r S e r v i c e. d o S e r v i c e ( ) ; 36 } e l s e { 37 f i l e T r a n s f e r S e r v i c e. d o S e r v i c e I n A T h r e a d ( ) ; 38 } 39 } 40 } / 43 Main method o f t h e <code>s e r v e r F i l e T r a n s f e r </code >. 44 a r g s t h e a r r a y o f arguments used by t h e 46 <code>s e r v e r F i l e T r a n s f e r </code.< br/> [ Usage S e r v e r F i l e T r a n s f e r <port > : <br/> 47 <ul > 48 < l i >p o r t t h e p o r t to which t h e s e r v e r must be bound 49 (1024 <= p o r t <= 65535). </ l i > 50 </ul > 51 / 52 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { // Command l i n e p r o c e s s i n g 55 i n t p o r t = 0 ; 56 i f ( a r g s. l e n g t h == 1) { 57 p o r t = I n t e g e r. p a r s e I n t ( a r g s [ 0 ] ) ; 58 } e l s e { 59 d i s p l a y U s a g e ( ) ; 60 System. e x i t ( 0 ) ; 61 } 62 i f ( p o r t < 1024 p o r t > 65535) { 63 d i s p l a y U s a g e ( ) ; 64 System. e x i t ( 0 ) ; 65 } // C r e a t e s t h e M e s s a g e S e r v e r 68 t r y { 69 f i n a l S e r v e r F i l e T r a n s f e r s e r v e r = new S e r v e r F i l e T r a n s f e r ( port, t r u e ) ; 70 } catch ( I O E x c e p t i o n e ) { 71 System. out. p r i n t l n ( An I /O e r r o r o c c u r s when o p e n i n g t h e s o c k e t. ) ; 72 e. p r i n t S t a c k T r a c e ( ) ; 73 } 74 } / 77 D i s p l a y s t h e command l i g n e usage o f t h e s e r v e r. 78 /

9 U.F.R Mathématiques et Informatique: Programmation Orientée Objets 9 79 p r i v a t e s t a t i c v o i d d i s p l a y U s a g e ( ) { 80 System. e r r. p r i n t ( [ Usage S e r v e r F i l e T r a n s f e r PORT] \ n 81 + PORT t h e p o r t to which t h e s e r v e r must be bound (1024 <= p o r t <= ). \ n ) ; 82 } 83 } FileTransferService.java 1 import j a v a. i o. DataInputStream ; 2 import j a v a. i o. DataOutputStream ; 3 import j a v a. i o. I O E x c e p t i o n ; 4 import j a v a. n e t. Socket ; 5 6 / 7 The c l a s s implements t h e s e r v i c e e x e c u t e d by t h e s e r v e r. 8 Damien P e l l i e r v e r s i o n 1. 0 C r e a t e d on 26 j a n v / 12 p u b l i c f i n a l c l a s s F i l e T r a n s f e r S e r v i c e extends Thread { / The s o c k e t o f t h e s e r v i c e. / 15 p r i v a t e Socket s o c k e t ; / 18 C r e a t e s a new <t t >F i l e T r a n s f e r S e r v i c e </t t > from a s p e c i f i c <t t >Socket </t t >. 19 s o c k e t t h e <t t >Socket </t t >. 21 / 22 p u b l i c F i l e T r a n s f e r S e r v i c e ( f i n a l Socket s o c k e t ) { 23 t h i s. s o c k e t = s o c k e t ; 24 } / 27 Runs t h e method e x e c u t e ( ) i n a s e p a r a t e t h r e a d. This method o v e r r i d e s run 28 method o f c l a s s <t t >Thread </t t >. 29 / 30 p u b l i c v o i d run ( ) { 31 t r y { 32 t h i s. d o S e r v i c e ( ) ; 33 } catch ( E x c e p t i o n e ) { 34 System. e r r. p r i n t l n ( E r r o r i n method d o S e r v i c e ( ). ) ; 35 e. p r i n t S t a c k T r a c e ( ) ; 36 } 37 } / 40 E x e c u t e s t h e s e r v i c e i n a <t t >Thread </t t >. 41 / 42 p u b l i c v o i d d o S e r v i c e I n A T h r e a d ( ) { 43 t h i s. s t a r t ( ) ; 44 } / 47 E x e c u t e s t h e <t t >F i l e T r a n s f e r S e r v i c e </t t >. 48 I O E x c e p t i o n i f a I /O e r r o r o c c u r s. 50 / 51 p u b l i c v o i d d o S e r v i c e ( ) throws I O E x c e p t i o n { 52 // C r e a t e a o u t p u t stream to w r i t e i n t h e s o c k e t 53 f i n a l DataOutputStream s o u t = new DataOutputStream ( s o c k e t. getoutputstream ( ) ) ; 54 // C r e a t e a i n p u t stream to r e a d i n t h e s o c k e t 55 f i n a l DataInputStream s i n = new DataInputStream ( s o c k e t. g e t I n p u t S t r e a m ( ) ) ; 56 // TO DO 57 System. out. p r i n t l n ( TO DO... ) ; } 60 }

10 U.F.R Mathématiques et Informatique: Programmation Orientée Objets 10 FileTransferConstants.java 1 / 2 This i n t e r f a c e d e f i n e s t h e c o n s t a n t s used by t h e f i l e t r a n s f e r p r o t o c o l. This 3 i n t e r f a c e i s d e f i n e d i n j a v a 1. 4 s t y l e f o r c o m p a t i b i l i t y. I t would be b e t t e r 4 to use t h e enum c l a s s d e f i n e d i n j a v a Damien P e l l i e r v e r s i o n 1. 0 C r e a t e d on 27 j a n v / 9 p u b l i c i n t e r f a c e F i l e T r a n s f e r C o n s t a n t s { / The maximum l e n g t h o f h e a d e r / 12 s t a t i c f i n a l i n t MAX HEADER LENGTH = ; / C PROTOCOL ERROR message c o n t r o l. / 15 s t a t i c f i n a l byte C PROTOCOL ERROR = 0 ; / C DATA message c o n t r o l. / 18 s t a t i c f i n a l byte C DATA = 2 ; / C LEAVE message c o n t r o l. / 21 s t a t i c f i n a l byte C LEAVE = 3 ; / S PROTOCOL ERROR message c o n t r o l. / 24 s t a t i c f i n a l byte S PROTOCOL ERROR = 6 4 ; / S PARAMS message c o n t r o l. / 27 s t a t i c f i n a l byte S PARAMS = 6 5 ; / S SUCCESS message c o n t r o l. / 30 s t a t i c f i n a l byte S SUCCESS = 6 6 ; / S FAILURE message c o n t r o l / 33 s t a t i c f i n a l byte S FAILURE = 6 7 ; }

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Communication 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étail

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 5 : Sockets Stream

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 5 : Sockets Stream iut ORSAY DUT Informatique Département Informatique 2009 / 2010 Travaux Pratiques n o 5 : Sockets Stream Nom(s) : Groupe : Date : Objectifs : manipuler les primitives relatives à la communication par sockets

Plus en détail

Le modèle client-serveur

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étail

Programmation Internet en Java

Programmation 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étail

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

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étail

Programmation Objet Java Correction

Programmation 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étail

Auto-évaluation Programmation en Java

Auto-é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étail

Gestion distribuée (par sockets) de banque en Java

Gestion 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étail

Entré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. 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étail

Prise en compte des ressources dans les composants logiciels parallèles

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

Synchro et Threads Java TM

Synchro 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étail

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Installation UpdatEngine serveur (CentOs apache2 / MySQL) Installation UpdatEngine serveur (CentOs apache2 / MySQL) Christophe Geneste 2014/02/26 10:05 Table des matières Introduction... 3 Installation de l environnement et des dépendances nécessaires... 3 Environnement

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France Développement d applications Internet et réseaux avec LabVIEW Alexandre STANURSKI National Instruments France Quelles sont les possibilités? Publication de données Génération de rapports et de documents

Plus en détail

RMI. 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. 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étail

INITIATION AU LANGAGE JAVA

INITIATION 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étail

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé SERVEUR DE SAUVEGARDE POUR BCDI3 par G.Haberer, A.Peuch, P.Saadé Table des matières 1. Introduction........................................................................ 2 1.1. Objectif....................................................................

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 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étail

Application Form/ Formulaire de demande

Application Form/ Formulaire de demande Application Form/ Formulaire de demande Ecosystem Approaches to Health: Summer Workshop and Field school Approches écosystémiques de la santé: Atelier intensif et stage d été Please submit your application

Plus en détail

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014 École Supérieure d Économie Électronique Chap 9: Composants et systèmes de sécurité 1 Rhouma Rhouma 21 Juillet 2014 2 tagging et port trunk Création des via les commandes sur switch cisco 1 / 48 2 / 48

Plus en détail

Comfort Duett. TV-kit. www.comfortaudio.com. USA: English/Français/Español. Comfort Duett

Comfort Duett. TV-kit. www.comfortaudio.com. USA: English/Français/Español. Comfort Duett Comfort Duett TV-kit USA: English/Français/Español www.comfortaudio.com Comfort Duett 1 English The television kit makes it possible to amplify the sound from the TV via the charger unit. As soon as Comfort

Plus en détail

CYLINDRE ET BÉQUILLE ÉLECTRONIQUES À BADGE Aperio E100 & C100

CYLINDRE ET BÉQUILLE ÉLECTRONIQUES À BADGE Aperio E100 & C100 SYSTÈMES D IDENTIFICATION CYLINDRE ET BÉQUILLE ÉLECTRONIQUES À BADGE Aperio E100 & C100 CONTRÔLE D ACCÈS SANS FIL RFID Contrôle des portes en temps réel. Fonctionnalités Aperio : le chaînon manquant grâce

Plus en détail

M1 MIAGE - Réseau TP1

M1 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étail

Internet Le service de noms - DNS

Internet Le service de noms - DNS Internet Le service de noms - DNS P. Bakowski bako@ieee.org Domaines Internet DNS - Domain Name System hostname : nom symbolique adresse IP : un nombre/valeur logique hostname : www.polytech2go.fr IP address

Plus en détail

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours de ce TP, vous allez installer un serveur de courrier sur un réseau local. Les étapes par lesquelles vous allez passer sont les suivantes

Plus en détail

Mise en oeuvre TSM 6.1

Mise en oeuvre TSM 6.1 Mise en oeuvre TSM 6.1 «Bonnes pratiques» pour la base de données TSM DB2 Powered by Qui sommes nous? Des spécialistes dans le domaine de la sauvegarde et de la protection des données 10 ans d expertise

Plus en détail

PCs embarqués CX1020. Mise en œuvre rapide

PCs embarqués CX1020. Mise en œuvre rapide PCs embarqués CX1020 Mise en œuvre rapide VERSION : 1.0 / JYL DATE : 12 février 2009 1 Introduction : 5 2 Connexion PC-CX : 5 2.1 Conditions requises : 5 2.2 Paramétrage PC Hôte : 5 2.3 Etablissement

Plus en détail

Guide d installation des licences Solid Edge-NB RB-18-09-2012

Guide d installation des licences Solid Edge-NB RB-18-09-2012 Ce document vous guide dans la gestion, l installation et la mise à jour des licences Solid Edge. Contenu Les types de licences...2 Le site GTAC : support.ugs.com...3 Création d un compte GTAC...3 Identifiant

Plus en détail

EN Télécom & Réseau S Utiliser VMWARE

EN Télécom & Réseau S Utiliser VMWARE EN Télécom & Réseau S Utiliser VMWARE Utiliser les machines virtuelles VMWARE Nom : Prénom : Classe : Date : Appréciation : Note : Objectif : Être capable de créer et configurer une machine virtuelle Configuration

Plus en détail

Développement Logiciel

Dé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étail

Procédure d installation de la Sauvegarde de Windows Server

Procédure d installation de la Sauvegarde de Windows Server Procédure d installation de la Sauvegarde de Windows Server Des outils de sauvegarde/récupération sont intégrés dans Windows Server 2008. Pour y accéder, vous devez installer les éléments suivants : Sauvegarde

Plus en détail

Nouvelle version de Zonecheck, la 3.0, avec tests DNSSEC

Nouvelle version de Zonecheck, la 3.0, avec tests DNSSEC Nouvelle version de Zonecheck, la 3.0, avec tests DNSSEC Stéphane Bortzmeyer Première rédaction de cet article le 22 juin 2010 Le 22 juin, une nouvelle version de Zonecheck

Plus en détail

Solutions de mesure et de contrôle

Solutions de mesure et de contrôle Solutions de mesure et de contrôle Zelio RTC Catalogue Avril 0 Comment trouver les produits Automatismes et Contrôle Les catalogues Les Essentiels Des gammes complètes de produits Une sélection des produits

Plus en détail

Remote Method Invocation Les classes implémentant Serializable

Remote 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étail

PocketNet SNMP/Modbus

PocketNet SNMP/Modbus Volume 1 RBEI-ADISCOM Manuel utilisateur PocketNet SNMP/Modbus CONVERTISSEUR SERIE - ETHERNET Manuel utilisateur PocketNet SNMP/Modbus Table des matières CHAPITRE 1 Caractéristiques utiles à la mise en

Plus en détail

WINDOWS SERVER 2003-R2

WINDOWS SERVER 2003-R2 WINDOWS SERVER 2003-R2 Nous allons aborder la création d'un serveur de partage de fichiers sous "VMWARE" et "Windows Server 2003-R2". Objectifs : Solution de sauvegarde de fichiers pour la société "STE

Plus en détail

Mise en place des TPs Réseau en machines virtuelles. Utilisation de VmPlayer

Mise en place des TPs Réseau en machines virtuelles. Utilisation de VmPlayer Semestre 4 TR2 2013/2014 Mise en place des TPs Réseau en machines virtuelles. Utilisation de VmPlayer But du TP Le but est simple : vous donner les moyens de réaliser chez vous les TPs réseaux, en utilisant

Plus en détail

Algorithmique des Systèmes Répartis Protocoles de Communications

Algorithmique des Systèmes Répartis Protocoles de Communications Algorithmique des Systèmes Répartis Protocoles de Communications Master Informatique Dominique Méry Université de Lorraine 1 er avril 2014 1 / 70 Plan Communications entre processus Observation et modélisation

Plus en détail

SHERLOCK 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 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étail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION 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étail

OPC Factory Server- Réglage des paramètres de communication

OPC Factory Server- Réglage des paramètres de communication OPC Factory Server- Réglage des paramètres de communication EIO0000001731 04/2014 OPC Factory Server- Réglage des paramètres de communication 04/2014 EIO0000001731.01 www.schneider-electric.com Le présent

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet 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étail

Programmation client-serveur sockets - RPC

Programmation 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étail

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision Page 1 de 7 Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision Table des matières Table des matières... 1 1. Premier

Plus en détail

Outils pour la pratique

Outils pour la pratique Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.

Plus en détail

La gestion des exceptions

La gestion des exceptions La gestion des exceptions Même lorsqu un programme est au point, certaines circonstances exceptionnelles peuvent compromettre la poursuite de son exécution ; il peut s agir par exemple de données incorrectes

Plus en détail

BC9000-BK9000. Paramétrage et configuration de l adresse IP

BC9000-BK9000. Paramétrage et configuration de l adresse IP BC9000-BK9000 Paramétrage et configuration de l adresse IP VERSION : 1.0 / JYL DATE : 01 mars 2006 1 Introduction : 4 2 Configuration via KS2000 : 4 3 Configuration via ARP : 5 3.1 Concept : 5 3.2 Procédure

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

Dis papa, c est quoi un bus logiciel réparti?

Dis 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étail

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Tutoriel Création d une source Cydia et compilation des packages sous Linux Tutoriel Création d une source Cydia et compilation des packages sous Linux 1. Pré-requis 1. Quelques connaissances sous Linux 2. Avoir à disposition un Serveur FTP pour héberger votre source 3. Un thème

Plus en détail

Tutoriel de formation SurveyMonkey

Tutoriel de formation SurveyMonkey Tutoriel de formation SurveyMonkey SurveyMonkey est un service de sondage en ligne. SurveyMonkey vous permet de créer vos sondages rapidement et facilement. SurveyMonkey est disponible à l adresse suivante

Plus en détail

Cahier des charges Remontée des ventes

Cahier des charges Remontée des ventes DIFFUSEURS INFOS SERVICES Cahier des charges Remontée des ventes VERSION DU 09/06/00 - Préambule - Règles techniques 3 - Règles de gestion 4 - Indice de fiabilité des remontées des ventes 5 - Remontée

Plus en détail

L2T SMS RESELLER MANUEL D UTILISATION ESPACE CLIENT AVERTISSEMENT

L2T SMS RESELLER MANUEL D UTILISATION ESPACE CLIENT AVERTISSEMENT L2T SMS RESELLER MANUEL D UTILISATION ESPACE CLIENT AVERTISSEMENT Si ce document a un indice supérieur à ceux précédemment diffusés, il les annule et les remplace En conséquence, sont destinataire doit,

Plus en détail

Le No.1 de l économie d énergie pour patinoires.

Le No.1 de l économie d énergie pour patinoires. Le No.1 de l économie d énergie pour patinoires. Partner of REALice system Economie d énergie et une meilleure qualité de glace La 2ème génération améliorée du système REALice bien connu, est livré en

Plus en détail

Sendmail milter/greylisting

Sendmail milter/greylisting Sendmail milter/greylisting Kai Poutrain - JT-SIARS 2005 Milter : objectifs Fournir une interface pour des filtres externes pour traiter les mails Validation d informations Modification de contenu tout

Plus en détail

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014 Atelier individuel Linux 101 Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014!1 !2 Se connecter à Colosse colosse.calculquebec.ca SSH est un protocole

Plus en détail

ST U2 Imprimantes multifunctionelles (modèle table) et scanners Edit. 001 / Rév. 000-01 Fev 2011 Page 1 de 12

ST U2 Imprimantes multifunctionelles (modèle table) et scanners Edit. 001 / Rév. 000-01 Fev 2011 Page 1 de 12 (modèle table) et scanners Page 1 de 12 IMPRIMANTES, APPAREILS MULTIFONCTIONNELS (MODELE DE TABLE) ET SCANNERS Rédacteur Approbateur B-CS.213 Jo Meert Tél. Editeur Groupe 23 Page 2 de 12 Statut des éditions

Plus en détail

Un ordonnanceur stupide

Un 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étail

Préparation d un serveur Apache pour Zend Framework

Préparation d un serveur Apache pour Zend Framework Préparation d un serveur Apache pour Zend Framework Jacques THOORENS 30 novembre 2010 Résumé Cette petite introduction explique comment paramétrer son serveur Apache personnel pour en faire une machine

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

QoS Réseaux haut débit et Qualité de service

QoS Réseaux haut débit et Qualité de service QoS Réseaux haut débit et Qualité de service Auteurs : COUMATES Matthieu PETIT-JEAN Jérémy Responsable : PHAM Congduc (UPPA) 16 decembre 2010 Table des matières 1 Gestion de la QoS au niveau du noyau linux

Plus en détail

INFO-F-404 : Techniques avancées de systèmes d exploitation

INFO-F-404 : Techniques avancées de systèmes d exploitation Nikita Veshchikov e-mail : nikita.veshchikov@ulb.ac.be téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table

Plus en détail

Université 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 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étail

Project 1 Experimenting with Simple Network Management Tools. ping, traceout, and Wireshark (formerly Ethereal)

Project 1 Experimenting with Simple Network Management Tools. ping, traceout, and Wireshark (formerly Ethereal) Project 1 Experimenting with Simple Network Management Tools ping, traceout, and Wireshark (formerly Ethereal) (A) (25%) Use the ping utility to determine reach-ability of several computers. To run a ping

Plus en détail

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER Internets Informatique de l Internet: le(s) Internet(s) Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III RENATER, R3LR Services Internet Protocoles Web Sécurité Composantes de l internet

Plus en détail

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ...

HTTP 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étail

Présentation du modèle OSI(Open Systems Interconnection)

Pré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étail

Remote Method Invocation (RMI)

Remote 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étail

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté Compétences travaillées : Mettre en œuvre un protocole expérimental Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique

Plus en détail

RMI le langage Java XII-1 JMF

RMI 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étail

Sauvegarde de postes clients avec BackupPC

Sauvegarde de postes clients avec BackupPC Sauvegarde de postes clients avec BackupPC Plan Expression des besoins Cahier des charges Présentation de BackupPC Installation et configuration Mise en pratique à l'observatoire Administration des Sauvegardes

Plus en détail

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet Expérience d un hébergeur public dans la sécurisation des sites Web, CCK Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet Plan Introduction Sécurisation des sites Web hébergés a Conclusion Introduction

Plus en détail

2 Chapitre 1 Introduction

2 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étail

Responsabilités du client

Responsabilités du client Stations Liste de vérification de travail autonomes de la Préparation et en réseau du Site OpenLAB CDS Merci d'avoir acheté un logiciel Agilent. Une préparation et une évaluation correctes du site est

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan 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étail

Programmation Réseau. ! UFR Informatique ! 2013-2014. Jean-Baptiste.Yunes@univ-paris-diderot.fr

Programmation 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étail

Séquencer une application

Séquencer une application Séquencer une application Pour ma part, j'utilise Vmware workstation pour créer les packages. Je configure une VM sous Windows Xp Pro Sp2 : 1. Mise du Pc dans le domaine 2. Installation du séquenceur 3.

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Aménagements technologiques

Aménagements technologiques Aménagements technologiques Janvier 2015 Système d exploitation Recommandation du matériel Poste de travail Serveur de données Gestionnaire de base de données Modules «Internet» et «Intranet» (Assurez-vous

Plus en détail

Installation ou mise à jour du logiciel système Fiery

Installation ou mise à jour du logiciel système Fiery Installation ou mise à jour du logiciel système Fiery Le présent document explique comment installer ou mettre à jour le logiciel système sur le Fiery Network Controller pour DocuColor 240/250. REMARQUE

Plus en détail

CHARTE INFORMATIQUE LGL

CHARTE INFORMATIQUE LGL CHARTE INFORMATIQUE LGL Selon la réglementation indiquée dans la charte informatique du CNRS, tout accès aux ressources informatiques du LGLTPE nécessite une authentification des personnels. Cette authentification

Plus en détail

1. Présentation du TP

1. Présentation du TP LP CHATEAU BLANC 45 CHALETTE/LOING BAC PRO SEN TR THÈME : CONTROLEUR PRINCIPAL DE TP N 1 DOMAINE ACADÉMIE D ORLÉANS-TOURS OBJECTIFS : INSTALLER ACTIVE DIRECTORY CONFIGURER ACTIVE DIRECTORY : - CREER DES

Plus en détail

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez... Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

le minimum pour communiquer par réseau (sans toutefois y comprendre grand chose)

le 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étail

Extended communication server 4.1 : VoIP SIP service- Administration

Extended communication server 4.1 : VoIP SIP service- Administration Extended communication server 4.1 : VoIP SIP service- Administration Mai, 2008 Alcatel-Lucent Office Offer - All Rights Reserved Alcatel-Lucent 2007 Ce document explique comment configurer le Service VOIP-SIP

Plus en détail

! 1 /! 5 TD - MIP + RO - NEMO. 1. Mobile IP (MIPv6) avec optimisation de routage

! 1 /! 5 TD - MIP + RO - NEMO. 1. Mobile IP (MIPv6) avec optimisation de routage TD - MIP + RO - NEMO Tous les documents sont autorisés. Les questions sont ouvertes et c est un raisonnement qui sera évalué, n oubliez donc pas de justifier vos réponses et d expliquer les raisons de

Plus en détail

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables LIONEL FRANC Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables L'INTRODUCTION Micro ordinateur portable ou fixe Système pluri- technologiques (mécanique,

Plus en détail

Configuration automatique

Configuration automatique Configuration automatique (/home/terre/d01/adp/bcousin/polys/internet:gestion_reseau/6.dhcp.fm- 29 Septembre 1999 12:07) PLAN Introduction Les principes de DHCP Le protocole DHCP Conclusion Bibliographie

Plus en détail

TP Sauvegarde et restauration avec le logiciel Cobian Backup. Etape 1 :

TP Sauvegarde et restauration avec le logiciel Cobian Backup. Etape 1 : TP Sauvegarde et restauration avec le logiciel Cobian Backup Etape 1 : Etape 2 : A quelle notion de la sauvegarde (cours) la case "Le fichier est prêt à être archivé" correspond? La case "Le fichier est

Plus en détail

Programmation système de commandes en C

Programmation 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étail

Mise en place d un firewall d entreprise avec PfSense

Mise en place d un firewall d entreprise avec PfSense Mise en place d un firewall d entreprise avec PfSense JA-PSI Programmation & Sécurité informatique http://www.ja-psi.fr Par Régis Senet http://www.regis-senet.fr regis.senet [at] supinfo.com Le 13/06/2009

Plus en détail

Monitor LRD. Table des matières

Monitor LRD. Table des matières Folio :1/6 Table des matières 1.Installation du logiciel... 3 2.Utilisation du logiciel... 3 2.1.Description de la fenêtre de commande... 3 2.1.1.Réglage des paramètres de communication... 4 2.1.2.Boutons

Plus en détail

F. Barthélemy. 17 mai 2005

F. Barthélemy. 17 mai 2005 Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes

Plus en détail

TP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX

TP 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étail