TP: Client/Serveur sur TCP
|
|
- Monique Larrivée
- il y a 7 ans
- Total affichages :
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
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étailDUT 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é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é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étailPour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.
Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de
Plus en dé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é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é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é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étailPrise 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é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étailInstallation 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étailIntroduction à 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étailDé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é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é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étailSERVEUR 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étailJava 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é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étailApplication 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étailPlan. É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étailComfort 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étailCYLINDRE 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é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étailInternet 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étailTP 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étailMise 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étailPCs 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étailGuide 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étailEN 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é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étailProcé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étailNouvelle 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étailSolutions 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é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étailPocketNet 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étailWINDOWS 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étailMise 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étailAlgorithmique 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étailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Plus en dé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étailOPC 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é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é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étailMise 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étailOutils 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étailLa 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étailBC9000-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étailJulien 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é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étailTutoriel 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étailTutoriel 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étailCahier 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étailL2T 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étailLe 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étailSendmail 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étailAtelier 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étailST 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é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étailPré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étailOnce 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étailQoS 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étailINFO-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étailUniversité Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall
Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A TP réseau firewall L objectif de ce TP est de comprendre comment mettre en place un routeur pare-feu (firewall) entre
Plus en détailProject 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étailInternets. 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é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étailPrésentation du modèle OSI(Open Systems Interconnection)
Présentation du modèle OSI(Open Systems Interconnection) Les couches hautes: Responsables du traitement de l'information relative à la gestion des échanges entre systèmes informatiques. Couches basses:
Plus en dé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étailEtudier 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é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étailSauvegarde 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étailExpé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é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étailResponsabilité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é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é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étailSé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étailDE 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étailAmé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étailInstallation 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étailCHARTE 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étail1. 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étailPré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étailChapitre 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é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étailExtended 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
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étailLE 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étailConfiguration 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étailTP 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é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étailMise 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étailMonitor 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étailF. 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é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étail