Année Master 2 T.P. 1. Sockets

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

Download "Année 2011-2012 Master 2 T.P. 1. Sockets"

Transcription

1 Institut Galilée E-services Année Master 2 T.P. 1 Sockets L objectif de ce TP est de compléter vos connaissances sur la manipulation de sockets en reprenant certains des exercices expliqués en cours. 1 Socket simple client et serveur Sous eclipse, créer un projet TCPserver. Créer les 3 fichiers Main.java, InputThread.java, OutputThread.java en utilisant les codes donnés aux pages du polycopié. Créer une classe client permettant de tester votre serveur. Ecécuter serveur et client. 2 Utilisation de sockets sécurisés Faire cet exercice en mode console. L objectif de l exercice est d effectuer des calculs de signature en utilisant un pool d esclaves. 1. Ecrire le programme à l aide de sockets ordinaires. 2. Ecrire le programme à l aide de sockets sécurisés. Les programmes pour ce deuxième cas sont donnés en fin de texte. Les opérations à effectuer pour se servir du cryptage sont données ci-dessous. SERVEUR génération d un fichier de clé (en fait d un certificat, d une clé privée et d une clé publique) : % keytool -genkey -keystore Fichier Certif La commande keytool permet de voir le contenu du fichier de clés : % keytool -list -keystore Fichier Certif Elle permet aussi l auto-certifiction de la clé publique du serveur (qui se trouve dans le fichier Fichier Certif) : % keytool -selfcert -keystore Fichier Certif Entrée manuelle du mot de passe (certif) : % java -Djavax.net.debug=ssl:handshake:verbose ServerMaitre certif Entrée par valeur de propriétés du mot de passe (certif) (-Dxxx : spécification d une valeur d attribut dans l environnement de la machine virtuelle) : % java -Djavax.net.ssl.keyStore=cacerts -Djavax.net.ssl.keyStorePassword=certif -Djavax.net.debug=ssl:handshake:verbose ServerMaitreBis

2 CLIENT On peut exporter les certificats pour le client par la commande keytool -export ou bien utiliser directement le fichier de certificats : % cp Fichier Certif cacerts cacerts est le nom du fichier de certificat du client : % java -Djavax.net.ssl.trustStore=cacerts -Djavax.net.debug=ssl:handshake:verbose Client localhost Client.java 3 Annexe : sockets sécurisés 3.1 Client.java 1 import java. s e c u r i t y. S e c u r i t y ; 2 import java. i o. ; 3 4 import javax. net. s s l. SSLSocket ; 5 import javax. net. s s l. SSLSocketFactory ; public class C l i e n t { 9 private S t r i n g host ; 10 private int port ; 11 private S t r i n g filename ; 12 private DataInputStream r e c e v ; // un f l u x d e n t r é e formaté 13 private DataOutputStream send ; // un f l u x de s o r t i e formaté 14 private SSLSocket s o c k e t ; // La s o c k e t public C l i e n t ( S t r i n g host, int port, S t r i n g filename ) { 17 sethost ( host ) ; 18 s e t P o r t ( port ) ; 19 setfilename ( filename ) ; S e c u r i t y. addprovider (new com. sun. net. s s l. i n t e r n a l. s s l. Provider ( ) ) ; 22 SSLSocketFactory f a c t o r y = ( SSLSocketFactory ) SSLSocketFactory. g e t D e f a u l t ( ) ; 23 try { 24 s e t S o c k e t ( ( SSLSocket ) f a c t o r y. c r e a t e S o c k e t ( gethost ( ), getport ( ) ) ) ; 25 } 26 catch ( Exception uhe ) { 27 System. out. p r i n t l n ( Erreur de c r é a t i o n de SSLSocket c l i e n t : + uhe ) ; 28 } try { 31 setrecev (new DataInputStream ( s o c k e t. getinputstream ( ) ) ) ; 32 setsend (new DataOutputStream ( s o c k e t. getoutputstream ( ) ) ) ; 33 } 34 catch ( IOException e ) { 35 System. out. p r i n t l n ( Erreur c r é a t i o n de s o c k e t c l i e n t : + e ) ; 36 System. e x i t ( 0 ) ; 37 } 38 } 2

3 39 40 public void r e q u e s t ( ) { 41 try { 42 // 1) Envoi du nom du f i c h i e r 43 getsend ( ). writeutf ( getfilename ( ) ) ; 44 // 2) Réception de l a t a i l l e de l a s i g n a t u r e 45 int l e n = getrecev ( ). r e a d I n t ( ) ; 46 // 3) Réception de l a s i g n a t u r e 47 byte [ ] d i g e s t = new byte [ l e n ] ; 48 getrecev ( ). read ( d i g e s t, 0, l e n ) ; 49 // 4) A f f i c h a g e du r é s u l t a t 50 S t r i n g r e s u l t = ; 51 for ( int i = 0 ; i < d i g e s t. l e n g t h ; i ++) { 52 r e s u l t += d i g e s t [ i ] + ; 53 } ; 54 System. out. p r i n t l n ( R é s u l t a t sur + getfilename ( ) + : + r e s u l t ) ; } 57 catch ( IOException e ) { 58 f i n i s h ( ) ; 59 } 60 } public void r e c p t F i c h i e r ( ) { } public void f i n i s h ( ) { 68 try { 69 getrecev ( ). c l o s e ( ) ; 70 getsend ( ). c l o s e ( ) ; 71 } 72 catch ( IOException e ) { 73 System. out. p r i n t l n ( Erreur de fermeture de f l u x de Socket c l i e n t + e ) ; 74 } 75 } / Returns t h e filename. 81 / 82 public S t r i n g getfilename ( ) { 83 return filename ; 84 } 85 / filename The filename t o s e t. 87 / 88 public void setfilename ( S t r i n g filename ) { 89 this. filename = filename ; 90 } 91 / Returns t h e h o s t. 3

4 93 / 94 public S t r i n g gethost ( ) { 95 return host ; 96 } 97 / h o s t The h o s t to s e t. 99 / 100 public void sethost ( S t r i n g host ) { 101 this. host = host ; 102 } 103 / Returns t h e p o r t. 105 / 106 public int getport ( ) { 107 return port ; 108 } 109 / p o r t The p o r t to s e t. 111 / 112 public void s e t P o r t ( int port ) { 113 this. port = port ; 114 } 115 / Returns t h e s o c k e t. 117 / 118 public SSLSocket getsocket ( ) { 119 return s o c k e t ; 120 } 121 / s o c k e t The s o c k e t to s e t. 123 / 124 public void s e t S o c k e t ( SSLSocket s o c k e t ) { 125 this. s o c k e t = s o c k e t ; 126 } 127 / Returns t h e r e c e v. 129 / 130 public DataInputStream getrecev ( ) { 131 return r e c e v ; 132 } 133 / r e c e v The r e c e v to s e t. 135 / 136 public void set Recev ( DataInputStream r e c e v ) { 137 this. r e c e v = r e c e v ; 138 } 139 / Returns t h e send. 141 / 142 public DataOutputStream getsend ( ) { 143 return send ; 144 } 145 / send The send t o s e t. 4

5 147 / 148 public void setsend ( DataOutputStream send ) { 149 this. send = send ; 150 } public s t a t i c void main ( S t r i n g a r g s [ ] ) { 154 i f ( a r g s. l e n g t h < 3) 155 System. out. p r i n t l n ( Usage : java nom prog host port f i c ) ; 156 else { 157 new C l i e n t ( a r g s [ 0 ], I n t e g e r. p a r s e I n t ( a r g s [ 1 ] ), a r g s [ 2 ] ). r e q u e s t ( ) ; 158 } 159 } 160 } 3.2 ServerEsclave.java 1 import java. i o. ; 2 import java. net. Socket ; 3 import java. s e c u r i t y. DigestInputStream ; 4 import java. s e c u r i t y. MessageDigest ; 5 import java. s e c u r i t y. NoSuchAlgorithmException ; 6 import java. u t i l. LinkedList ; 7 8 public class S e r v e r E s c l a v e extends Thread { 9 LinkedList l i s t ; 10 Socket s o c k e t = null ; 11 DataInputStream i n ; 12 DataOutputStream out ; public S e r v e r E s c l a v e ( LinkedList l i s t ) { 15 s e t L i s t ( l i s t ) ; 16 } public void run ( ) { 19 while ( true ) { 20 synchronized ( l i s t ) { 21 i f ( l i s t. isempty ( ) ) { 22 try { 23 l i s t. wait ( ) ; 24 } 25 catch ( I n t e r r u p t e d E x c e p t i o n e ) { 26 System. out. p r i n t l n ( Serveur interrompu?? : + e ) ; 27 } 28 } 29 } 30 synchronized ( l i s t ) { 31 s e t S o c k e t ( ( Socket ) l i s t. removefirst ( ) ) ; 32 try { 33 s e t I n (new DataInputStream ( s o c k e t. getinputstream ( ) ) ) ; 34 setout (new DataOutputStream ( s o c k e t. getoutputstream ( ) ) ) ; 35 } catch ( IOException e ) { 36 e. printstacktrace ( ) ; 37 } 5

6 38 } 39 execute ( ) ; 40 try { i f ( s o c k e t!= null ) s o c k e t. c l o s e ( ) ; } 41 catch ( IOException e ) { 42 System. out. p r i n t l n ( Erreur fermeture de Socket ( s e r v e u r e s c l a v e ) : + e ) ; 43 System. e x i t ( 0 ) ; 44 } 45 }} public void execute ( ) { 48 try { 49 S t r i n g filename = i n. readutf ( ) ; 50 MessageDigest sha = MessageDigest. g e t I n s t a n c e ( SHA ) ; 51 DigestInputStream din = new DigestInputStream ( 52 new FileInputStream ( filename ), 53 sha 54 ) ; 55 int b ; 56 while ( ( b = din. read ( ) )!= 1); 57 din. c l o s e ( ) ; 58 byte [ ] d i g e s t = sha. d i g e s t ( ) ; 59 // 1) envoie l a t a i l l e du t a b l e a u à l i r e 60 getout ( ). w r i t e I n t ( d i g e s t. l e n g t h ) ; 61 // 2) envoie l e t a b l e a u 62 getout ( ). w r i t e ( d i g e s t, 0, d i g e s t. l e n g t h ) ; 63 } 64 catch ( IOException e ) { 65 System. e r r. p r i n t l n ( Erreur de l e c t u r e de f i c h i e r + e ) ; 66 } 67 catch ( NoSuchAlgorithmException e ) { 68 System. e r r. p r i n t l n ( Erreur ( pas d a l g o de c a l c u l de s i g n a t u r e ) : + e ) ; 69 } 70 } / Returns t h e in. 74 / 75 public DataInputStream g e t I n ( ) { 76 return i n ; 77 } 78 / in The in to s e t. 80 / 81 public void s e t I n ( DataInputStream i n ) { 82 this. i n = i n ; 83 } 84 / Returns t h e out. 86 / 87 public DataOutputStream getout ( ) { 88 return out ; 89 } 90 / out The out to s e t. 6

7 92 / 93 public void setout ( DataOutputStream out ) { 94 this. out = out ; 95 } 96 / Returns t h e l i s t. 98 / 99 public LinkedList g e t L i s t ( ) { 100 return l i s t ; 101 } 102 / l i s t The l i s t to s e t. 104 / 105 public void s e t L i s t ( LinkedList l i s t ) { 106 this. l i s t = l i s t ; 107 } 108 / Returns t h e s o c k e t. 110 / 111 public Socket getsocket ( ) { 112 return s o c k e t ; 113 } 114 / s o c k e t The s o c k e t to s e t. 116 / 117 public void s e t S o c k e t ( Socket s o c k e t ) { 118 this. s o c k e t = s o c k e t ; 119 } 120 } 3.3 ServerMaitre.java 1 import java. net. Socket ; 2 import java. s e c u r i t y. KeyManagementException ; 3 import java. s e c u r i t y. KeyStore ; 4 import java. s e c u r i t y. KeyStoreException ; 5 import java. s e c u r i t y. NoSuchAlgorithmException ; 6 import java. s e c u r i t y. UnrecoverableKeyException ; 7 import java. s e c u r i t y. c e r t. C e r t i f i c a t e E x c e p t i o n ; 8 import java. u t i l. LinkedList ; 9 import java. i o. ; import javax. net. s s l. KeyManagerFactory ; 12 import javax. net. s s l. SSLContext ; 13 import javax. net. s s l. SSLServerSocket ; 14 import javax. net. s s l. SSLServerSocketFactory ; public class ServerMaitre 18 { 19 private s t a t i c int nbserveresclave = 3 ; // nombre de t h r e a d s e s c l a v e s 20 private SSLServerSocket s e r v e r S o c k e t ; 21 private Socket s o c k e t ; 22 private int port ; 7

8 23 public LinkedList l i s t = new LinkedList ( ) ; 24 private S e r v e r E s c l a v e [ ] pool = new S e r v e r E s c l a v e [ nbserveresclave ] ; public ServerMaitre ( int port, S t r i n g password ) { 28 // maj du p o r t du s e r v i c e 29 try { s e t P o r t ( port ) ; } 30 catch ( Exception e ) { System. out. p r i n t l n ( numéro de port n é g a t i f ) ; } 31 // maj de l a t t e n t e de connexion 32 // 1) s p é c i f de l a f a b r i q u e de c r y p t a g e 33 KeyManagerFactory kmf=null ; 34 SSLContext context=null ; 35 try { 36 context = SSLContext. g e t I n s t a n c e ( SSLv3 ) ; 37 kmf = KeyManagerFactory. g e t I n s t a n c e ( SunX509 ) ; 38 } catch ( NoSuchAlgorithmException e1 ) { 39 e1. printstacktrace ( ) ; 40 } 41 // 2) s p é c i f du g e s t i o n n a i r e de c l é s 42 KeyStore ks = null ; 43 try { 44 ks = KeyStore. g e t I n s t a n c e ( JKS ) ; 45 } catch ( KeyStoreException e2 ) { 46 e2. printstacktrace ( ) ; 47 } 48 // 3) r é c u p é r a t i o n du c e r t i f i c a t ( e t de l a c l é ) 49 char [ ] pa ssphrase = password. tochararray ( ) ; 50 try { 51 ks. load (new FileInputStream ( F i c h i e r C e r t i f ), passphrase ) ; 52 } catch ( NoSuchAlgorithmException e3 ) { 53 e3. printstacktrace ( ) ; 54 } catch ( C e r t i f i c a t e E x c e p t i o n e3 ) { 55 e3. printstacktrace ( ) ; 56 } catch ( FileNotFoundException e3 ) { 57 e3. printstacktrace ( ) ; 58 } catch ( IOException e3 ) { 59 e3. printstacktrace ( ) ; 60 } 61 // 4) paramétrage de l a f a b r i q u e de c r y p t a g e par l a c l é 62 try { 63 kmf. i n i t ( ks, passphrase ) ; 64 } catch ( KeyStoreException e4 ) { 65 e4. printstacktrace ( ) ; 66 } catch ( NoSuchAlgorithmException e4 ) { 67 e4. printstacktrace ( ) ; 68 } catch ( UnrecoverableKeyException e4 ) { 69 e4. printstacktrace ( ) ; 70 } 71 // 5) s p é c i f i c a t i o n du c o n t e x t e de g é n é r a t i o n de SSLServerSocket 72 try { 73 context. i n i t ( kmf. getkeymanagers ( ), null, null ) ; 74 } catch ( KeyManagementException e5 ) { 75 e5. printstacktrace ( ) ; 76 } 8

9 77 // 6) c r é a t i o n de l a f a b r i q u e de SSLServerSocket 78 SSLServerSocketFactory f a c t o r y = context. g e t S e r v e r S o c k e t F a c t o r y ( ) ; 79 // 7) c r é a t i o n d un SSLServerSocket 80 try { 81 s e r v e r S o c k e t = ( SSLServerSocket ) f a c t o r y. c r e a t e S e r v e r S o c k e t ( this. port ) ; 82 System. out. p r i n t l n ( Creation Socket OK ) ; 83 } 84 catch ( IOException e ) { 85 System. out. p r i n t l n ( Erreur ServerSocket : + e ) ; 86 System. e x i t ( 0 ) ; 87 } // maj du p o o l d e s c l a v e s 90 for ( int i = 0 ; i < pool. l e n g t h ; i ++) { 91 pool [ i ] = new S e r v e r E s c l a v e ( l i s t ) ; 92 pool [ i ]. s t a r t ( ) ; 93 } 94 } / 97 A t t e n t e de connexion de c l i e n t s / 100 public void attenteconnexion ( ) 101 { 102 while ( true ) { 103 try { 104 s e t S o c k e t ( s e r v e r S o c k e t. accept ( ) ) ; 105 execute ( ) ; 106 } 107 catch ( IOException e ) { 108 System. out. p r i n t l n ( Erreur Socket ( s e r v e u r ) : + e ) ; 109 System. e x i t ( 0 ) ; 110 } 111 } 112 } / 115 Exécution de r e q u ê t e de c l i e n t / 118 public void execute ( ) 119 { 120 synchronized ( l i s t ) { // l i s t stune v a r i a b l e p a r t a g é e donc s y n c h r o n i s a t i o n 121 l i s t. add ( getsocket ( ) ) ; 122 l i s t. n o t i f y ( ) ; 123 } 124 } / Returns t h e p o r t. 130 / 9

10 131 public int getport ( ) { 132 return port ; 133 } 134 / 135 V é r i f i c a t i o n de l a c o m p a t i b i l i t é du numéro de p o r t r e l a t i v e m e n t au système p o r t The p o r t to s e t. 137 / 138 public void s e t P o r t ( int port ) throws Exception { 139 i f ( port < 0) throw new Exception ( ) ; 140 this. port = port ; 141 } 142 / Returns t h e s e r v e r S o c k e t. 144 / 145 public SSLServerSocket g e t S e r v e r S o c k e t ( ) { 146 return s e r v e r S o c k e t ; 147 } 148 / s e r v e r S o c k e t The s e r v e r S o c k e t to s e t. 150 / 151 public void s e t S e r v e r S o c k e t ( SSLServerSocket s e r v e r S o c k e t ) { 152 this. s e r v e r S o c k e t = s e r v e r S o c k e t ; 153 } 154 / Returns t h e s o c k e t. 156 / 157 public Socket getsocket ( ) { 158 return s o c k e t ; 159 } 160 / s o c k e t The s o c k e t to s e t. 162 / 163 public void s e t S o c k e t ( Socket s o c k e t ) { 164 this. s o c k e t = s o c k e t ; 165 } public s t a t i c void main ( S t r i n g a r g s [ ] ) { 169 i f ( a r g s. l e n g t h < 1) 170 System. out. p r i n t l n ( Usage : java nom prog port password ) ; 171 else { 172 new ServerMaitre ( I n t e g e r. p a r s e I n t ( a r g s [ 0 ] ), a r g s [ 1 ] ). attenteconnexion ( ) ; 173 } 174 } 175 } 3.4 ServerMaitreBis.java 1 import java. net. Socket ; 2 import java. s e c u r i t y. KeyManagementException ; 3 import java. s e c u r i t y. KeyStore ; 4 import java. s e c u r i t y. KeyStoreException ; 5 import java. s e c u r i t y. NoSuchAlgorithmException ; 6 import java. s e c u r i t y. UnrecoverableKeyException ; 10

11 7 import java. s e c u r i t y. c e r t. C e r t i f i c a t e E x c e p t i o n ; 8 import java. u t i l. LinkedList ; 9 import java. i o. ; import javax. net. s s l. KeyManagerFactory ; 12 import javax. net. s s l. SSLContext ; 13 import javax. net. s s l. SSLServerSocket ; 14 import javax. net. s s l. SSLServerSocketFactory ; public class S e r v e r M a itrebis 18 { 19 private s t a t i c int nbserveresclave = 3 ; // nombre de t h r e a d s e s c l a v e s 20 private SSLServerSocket s e r v e r S o c k e t ; 21 private Socket s o c k e t ; 22 private int port ; 23 public LinkedList l i s t = new LinkedList ( ) ; 24 private S e r v e r E s c l a v e [ ] pool = new S e r v e r E s c l a v e [ nbserveresclave ] ; public S e r v e r M a itrebis ( int port ) { 28 // maj du p o r t du s e r v i c e 29 try { s e t P o r t ( port ) ; } 30 catch ( Exception e ) { System. out. p r i n t l n ( numéro de port n é g a t i f ) ; } 31 // 6) c r é a t i o n de l a f a b r i q u e de SSLServerSocket 32 javax. net. ServerSocketFactory f a c t o r y = SSLServerSocketFactory. g e t D e f a u l t ( ) ; 33 // 7) c r é a t i o n d un SSLServerSocket 34 try { 35 s e r v e r S o c k e t = ( SSLServerSocket ) f a c t o r y. c r e a t e S e r v e r S o c k e t ( this. port ) ; 36 System. out. p r i n t l n ( Creation Socket OK ) ; 37 } 38 catch ( IOException e ) { 39 System. out. p r i n t l n ( Erreur ServerSocket : + e ) ; 40 System. e x i t ( 0 ) ; 41 } // maj du p o o l d e s c l a v e s 44 for ( int i = 0 ; i < pool. l e n g t h ; i ++) { 45 pool [ i ] = new S e r v e r E s c l a v e ( l i s t ) ; 46 pool [ i ]. s t a r t ( ) ; 47 } 48 } / 51 A t t e n t e de connexion de c l i e n t s / 54 public void attenteconnexion ( ) 55 { 56 while ( true ) { 57 try { 58 s e t S o c k e t ( s e r v e r S o c k e t. accept ( ) ) ; 59 execute ( ) ; 60 } 11

12 61 catch ( IOException e ) { 62 System. out. p r i n t l n ( Erreur Socket ( s e r v e u r ) : + e ) ; 63 System. e x i t ( 0 ) ; 64 } 65 } 66 } / 69 Exécution de r e q u ê t e de c l i e n t / 72 public void execute ( ) 73 { 74 synchronized ( l i s t ) { // l i s t stune v a r i a b l e p a r t a g é e donc s y n c h r o n i s a t i o n 75 l i s t. add ( getsocket ( ) ) ; 76 l i s t. n o t i f y ( ) ; 77 } 78 } / Returns t h e p o r t. 84 / 85 public int getport ( ) { 86 return port ; 87 } 88 / 89 V é r i f i c a t i o n de l a c o m p a t i b i l i t é du numéro de p o r t r e l a t i v e m e n t au système p o r t The p o r t to s e t. 91 / 92 public void s e t P o r t ( int port ) throws Exception { 93 i f ( port < 0) throw new Exception ( ) ; 94 this. port = port ; 95 } 96 / Returns t h e s e r v e r S o c k e t. 98 / 99 public SSLServerSocket g e t S e r v e r S o c k e t ( ) { 100 return s e r v e r S o c k e t ; 101 } 102 / s e r v e r S o c k e t The s e r v e r S o c k e t to s e t. 104 / 105 public void s e t S e r v e r S o c k e t ( SSLServerSocket s e r v e r S o c k e t ) { 106 this. s e r v e r S o c k e t = s e r v e r S o c k e t ; 107 } 108 / Returns t h e s o c k e t. 110 / 111 public Socket getsocket ( ) { 112 return s o c k e t ; 113 } 114 / 12

13 s o c k e t The s o c k e t to s e t. 116 / 117 public void s e t S o c k e t ( Socket s o c k e t ) { 118 this. s o c k e t = s o c k e t ; 119 } public s t a t i c void main ( S t r i n g a r g s [ ] ) { 123 i f ( a r g s. l e n g t h < 1) 124 System. out. p r i n t l n ( Usage : java nom prog port ) ; 125 else { 126 new S e r v e r M a itrebis ( I n t e g e r. p a r s e I n t ( a r g s [ 0 ] ) ). attenteconnexion ( ) ; 127 } 128 } 129 } 13

Données et communications en Java

Données et communications en Java Données et communications en Java Programmation des applications réparties Olivier Flauzac Master EEAMI-Informatique première année Olivier Flauzac (URCA) Données et communications en Java EEAMI-INFO 1

Plus en détail

Programmation Socket en Java

Programmation Socket en Java Programmation Socket en Java Cours sockets Université Paul Sabatier Plan Un bon réflexe Les adresses IP en Java Sockets en mode flot La classe Socket La classe ServerSocket Communication via les Sockets

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

M2 FMIN305 - Novembre 2010 CORBA

M2 FMIN305 - Novembre 2010 CORBA FMIN05 - Novembre 0 Ce TD est très largement inspiré de ceux de Gilles Roussel. Vous trouverez beaucoup de choses intéressantes ici : http://www-igm.univ-mlv.fr/ roussel. 1 Horloge distante On souhaite

Plus en détail

1 Le Parking revisité

1 Le Parking revisité Module I6 - Manipulation de threads II 13 décembre 2012 1 Le Parking revisité Une société de gestion de parkings de voitures souhaite mettre en place un système automatique d affichage en temps réel de

Plus en détail

La programmation réseau. Java

La programmation réseau. Java Chapitre 7 : Java et les réseaux La programmation réseau Java Rémy Courdier 1996-2003 - Java Réseau - Version du cours 3.0 1 Sommaire La programmation réseau La classe URL Les Sockets TCP/IP et les principaux

Plus en détail

Introduction à la sécurité Cours 6 Cryptographie et Java (2) Catalin Dima

Introduction à la sécurité Cours 6 Cryptographie et Java (2) Catalin Dima Introduction à la sécurité Cours 6 Cryptographie et Java (2) Catalin Dima 1 Sommaires de messages et MAC Sommaires de message : classe MessageDigest. Création d un objet gérant la construction du digest

Plus en détail

Le réseau est l ordinateur

Le réseau est l ordinateur Le réseau est l ordinateur (Bill Joy) Les applets 1 Les applets : principe Les applets sont des programme Java téléchargés à partir d un serveur WEB et qui s exécutent dans le browser d un client : Fichier.html

Plus en détail

Accéder à PostgreSQL par JDBC via un tunnel SSL Java

Accéder à PostgreSQL par JDBC via un tunnel SSL Java LinuxFocus article number 285 http://linuxfocus.org Accéder à PostgreSQL par JDBC via un tunnel SSL Java par Chianglin Ng L auteur: Je vis à Singapour, un pays moderne et cosmopolite

Plus en détail

Java. Exception et Entrée/Sortie

Java. Exception et Entrée/Sortie Java Exception et Entrée/Sortie Plan Exception Principe, utilisation, création Paquetage java.io Notion de flots Organisation du paquetage Flots d octets Flots de caractères Exceptions Principe Définition

Plus en détail

TP programmation Internet en JAVA

TP programmation Internet en JAVA TP programmation Internet en JAVA préparé par P. Bakowski Ce TP nécessite quelques préparations du logiciel. Vous pouvez utiliser l environnement NetBeans avec le pack SDK Java SE Le site polytech2go.fr

Plus en détail

Programmation orientée objet appliquée avec le langage Java Réseaux

Programmation orientée objet appliquée avec le langage Java Réseaux Programmation orientée objet appliquée avec le langage Java Réseaux IUT d'aix en Provence Réseaux et Télécommunications Décembre 2013 Ivan Madjarov Partie XIII Programmation en Java par Socket en mode

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

Le réseau. Sommaire. Ce chapitre concerne les classes du package java.net qui permettent de travailler avec le réseau au niveau applicatif.

Le réseau. Sommaire. Ce chapitre concerne les classes du package java.net qui permettent de travailler avec le réseau au niveau applicatif. Le réseau Ce chapitre concerne les classes du package java.net qui permettent de travailler avec le réseau au niveau applicatif. Sommaire 1.LES URL... 2 1.1DÉFINITIONS...2 1.2LES CLASSES URL ET URLCONNECTION...

Plus en détail

CEG3585/CEG3555 Tutorat 2. Été 2015

CEG3585/CEG3555 Tutorat 2. Été 2015 CEG3585/CEG3555 Tutorat 2 Été 2015 Architecture TCP/IP Les applications sont développées avec le socket API (en Java les classes Socket et ServerSocket) Adresse socket: Port TCP Adresse IP Les deux adresses

Plus en détail

Programmer avec les exceptions en Java

Programmer avec les exceptions en Java Programmer avec les exceptions en Java Premier Cycle Cours Eurinsa 2002 (c) P.Pollet 05/12/2002 Java 2001 (PP) 1 Plan Gestion traditionnelle des erreurs d exécution Qu est-ce qu une exception? La classe

Plus en détail

Package java.net. Interfaces Interface ContentHandlerFactory Interface SocketImplFactory Interface URLStreamHandlerFactory

Package java.net. Interfaces Interface ContentHandlerFactory Interface SocketImplFactory Interface URLStreamHandlerFactory Package java.net Classes class ContentHandler class DatagramPacket class DatagramSocket class InetAddress final class ServerSocket final class Socket class SocketImpl final class URL abstract class URLConnection

Plus en détail

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions.

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions. Fiabilité d un logiciel Exceptions Université Française d Egypte Version O 5.7 5/10/15 Richard Grin Robustesse : fonctionne correctement, même en présence d événements exceptionnels Correction : donne

Plus en détail

Servlets, beans, base de données

Servlets, beans, base de données Institut Galilée E-services Année 2014-2015 Master 2 T.P. 2 Servlets, beans, base de données L objectif de ce TP est de mettre en place un site web pour l administration et la commande de pizzas : une

Plus en détail

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible Programmation Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille Principe : détecter le maximum d erreurs à la compilation, mais pas toujours possible Gestion des erreurs

Plus en détail

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2011/2012 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : jeudi 26 janvier 2012 Durée : 1H30 Coordonnateurs : Christian Bac et Denis

Plus en détail

Programmation Java Avancée

Programmation Java Avancée Programmation Java Avancée Module RPCI01 Département R&T IUT de Villetaneuse 2 novembre 2015 Département R&T Programmation Java Avancée 2 novembre 2015 1 / 74 Plan du cours 1 La gestion des exceptions

Plus en détail

Java Avancé - Cours 1 Solution des exercices

Java Avancé - Cours 1 Solution des exercices Solution des exercices Java Avancé - Cours 1 1/6 Java Avancé - Cours 1 Solution des exercices Liste des exercices: Exercice 1.1 Q1 On utilise les deux constructeurs suivants : java.io.inputstreamreader

Plus en détail

Sockets. Karima Boudaoud IUT- R&T

Sockets. Karima Boudaoud IUT- R&T Sockets Karima Boudaoud IUT- R&T Rappels sur les sockets Qu est ce qu un socket? Point d entrée entre 2 appli. du réseau Permet l échange de donnée entre elles à l aide des mécanismes d E/S (java.io) Différents

Plus en détail

Université Mohammed Premier Année universitaire 2012-2013

Université Mohammed Premier Année universitaire 2012-2013 Université Mohammed Premier Année universitaire 2012-2013 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Responsable du cours : El Mostafa

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

Java Message Service TD

Java Message Service TD labo-sun@supinfo.com Java Message Service TD Auteur : Frédéric Chuong Version n 0.1 20 octobre 2004 Nombre de pages : 8 Ecole Supérieure d Informatique de Paris 23. rue Château Landon 75010 PARIS www.supinfo.com

Plus en détail

Le mécanisme d exception du langage Java

Le mécanisme d exception du langage Java Le mécanisme d exception du langage Java 1 / 39 Plan 1 Introduction aux exceptions en Java 2 Exemples de code avec gestion des exceptions 3 Créer ses propres exceptions 4 Instruction try/catch/finally

Plus en détail

Programmation client/serveur

Programmation client/serveur Programmation client/serveur (sockets sur TCP/IP) java.net Philippe GENOUD UJF Novembre 2006 1 Communications sur Internet Pour communiquer sur Internet les ordinateurs utilisent différents protocoles

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

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

Canal de livraison semi-automatique des Régies. Guide technique. Janvier 2013, version 1.2. En partenariat avec Useful Web Sàrl contact@usefulweb.

Canal de livraison semi-automatique des Régies. Guide technique. Janvier 2013, version 1.2. En partenariat avec Useful Web Sàrl contact@usefulweb. Canal de livraison semi-automatique des Régies Janvier 2013, version 1.2 Guide technique En partenariat avec Useful Web Sàrl contact@usefulweb.ch Table des matières 1. INTRODUCTION... 3 2. PREREQUIS...

Plus en détail

La programmation réseau. Java

La programmation réseau. Java Chapitre 7 : Java et les réseaux La programmation réseau Java Rémy Courdier 1996-2009 - Java Réseau - Version du cours 3.0 1 Sommaire La programmation réseau Rappel Réseau Couches réseau et TCP-IP Notion

Plus en détail

Sérialisation sur le système de fichiers. Gestion des exceptions en Java.

Sérialisation sur le système de fichiers. Gestion des exceptions en Java. Sérialisation sur le système de fichiers. Gestion des exceptions en Java. Christophe Gravier, Frédérique Laforest, Julien Subercaze Télécom Saint-Étienne Université Jean Monnet {pnom.nom}@univ-st-etienne.fr

Plus en détail

Programmation par sockets-java

Programmation par sockets-java 2A-SI 3 Prog. réseau et systèmes distribués 3.1 - Programmation par sockets-java Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de l

Plus en détail

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13 Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie

Plus en détail

2. lancer (throw) une exception consiste à la signaler

2. lancer (throw) une exception consiste à la signaler Cours 7 Exceptions 1 1. Une exception est un signal qui indique que quelque chose d'exceptionnel (par exemple une erreur) s est produite qui interrompt le flot d exécution normal du programme 2. lancer

Plus en détail

Travaux Pratiques de Réseaux DUT 2 eme année

Travaux Pratiques de Réseaux DUT 2 eme année Travaux Pratiques de Réseaux DUT 2 eme année Copyright c Emmanuel Nataf Chapitre 1 Programmation réseaux 1.1 Communication avec UDP - package java.net Le but de ce TP est de réaliser deux programmes permettant

Plus en détail

Chapitre 6. Flux binaires (illustration sur les fichiers) Les flux. Plan. Flux. Types de Flux. Flux binaire entrant sur un fichier

Chapitre 6. Flux binaires (illustration sur les fichiers) Les flux. Plan. Flux. Types de Flux. Flux binaire entrant sur un fichier Chapitre 6 Les flux Flux binaires (illustration sur les fichiers) 05/12/03 Les flux page 1 05/12/03 Les flux page 5 Plan Flux binaires (flux d octets) Flux textes (flux de caractères) Conversions de flux

Plus en détail

TP 3 Programmation client/serveur

TP 3 Programmation client/serveur PhL - 20/03/2007 - Page 1 / 5 TP 3 Programmation client/serveur 1. Modèle de programmation 1. Introduction Au-dessus des protocoles de transmission, on peut construire des applications réparties reposant

Plus en détail

Cours 8 : Exceptions, un peu de graphique

Cours 8 : Exceptions, un peu de graphique 1 Cours 8 : Exceptions, un peu de graphique 1. Traiter les exceptions usuelles 2. Créer ses propres exceptions 3. Exemples: les files. 4. Quelques éléments sur les graphiques 2 Exceptions Une exception

Plus en détail

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

TP Java ME. Installation du "Wireless Toolkit 2.5.2" de Sun

TP Java ME. Installation du Wireless Toolkit 2.5.2 de Sun TP Java ME Installation du "Wireless Toolkit 2.5.2" de Sun L'environnement de Sun pour commencer à faire du développement pour Java Micro Edition s'appelle le Wireless Toolkit. Nous utilisons dans ce TP

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 2 : JUnit Nom(s) : Groupe : Date : Objectifs : Apprendre à vérifier une implantation à l aide de tests unitaires sous

Plus en détail

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

Programmation Réseau. API Java TCP. Jean-Baptiste.Yunes@univ-paris-diderot.fr. ! UFR Informatique ! 2013-2014 Programmation Réseau API Java TCP Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2013-2014 Les flux réseau en Java pré-requis : utiliser correctement les classes d entrées-sorties Java (package

Plus en détail

Les réseaux. Le Generic Connection Framework GCF

Les réseaux. Le Generic Connection Framework GCF Les réseaux Le Generic Connection Framework GCF Connexion réseau Le profil MIDP fournit quelques classes du package java.io mais aucune classe du package java.net les terminaux mobiles peuvent supporter

Plus en détail

POO LES EXCEPTIONS LES EXCEPTIONS

POO LES EXCEPTIONS LES EXCEPTIONS CHAPITRE 7 : LES EXCEPTIONS Objectifs spécifiques 1. Introduire la notion d exception, les règles d utilisation et de définition des exceptions. 2. Distinguer entre les exceptions prédéfinies et les exceptions

Plus en détail

«Anatomie» d une application web Servlets - JDBC

«Anatomie» d une application web Servlets - JDBC «Anatomie» d une application web Servlets - JDBC Patrick REIGNIER - Philippe GENOUDUJF Février 2005 1 L application histogramme de notes HistoServlet HistoServlet HistogramModel HistogramModel (objet (objet

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Programmation par RPC et Java-RMI :

Programmation par RPC et Java-RMI : 2A-SI 3 Prog. réseau et systèmes distribués 3.2 et JavaRMI Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de l équipe pédagogique du

Plus en détail

Chapitre 6. La gestion réseau sous Android

Chapitre 6. La gestion réseau sous Android Chapitre 6 La gestion réseau sous Android 1 Plan du chapitre 6 Rappels sur la programmation réseau Communication avec une Socket serveur Utiliser HTTP avec les API Android Utilisation de la librairie Android

Plus en détail

JAVA - Compléments du cours 9

JAVA - Compléments du cours 9 JAVA - Compléments du cours 9 Nicolas Baudru Année 2008-2009 Exercice 1 (Création de threads) En Java, il existe deux méthodes pour créer des threads. La première étend la classe Thread : class MonThread

Plus en détail

Projet. Coloration lexicale et indentation de code Java

Projet. Coloration lexicale et indentation de code Java Université Paris Diderot Programmation Orientée Objet L3 Année 2011-2012 Projet Coloration lexicale et indentation de code Java Le but de ce projet est de développer un programme qui prend en entrée un

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

Laboratoire SSL avec JSSE

Laboratoire SSL avec JSSE Applications et Services Internet Rapport de laboratoire IL2008 20 janvier 2008 TABLE DES MATIÈRES I Table des matières 1 Introduction 1 2 Utilisation du serveur web 1 3 Clé publique générée 1 4 Réponses

Plus en détail

Communications et synchronisations

Communications et synchronisations Communications et synchronisations Polytech Paris-Sud Cycle ingénieur de la filière étudiant Louis Mandel Université Paris-Sud 11 Louis.Mandel@lri.fr année 2012/2013 Le problème des philosophes (Dijkstra

Plus en détail

Exercice commenté. Mailer java. 1. Intitulé. 2. Approche

Exercice commenté. Mailer java. 1. Intitulé. 2. Approche Exercice commenté Auteur : cj-tronquet@ifrance.com Mailer java 1. Intitulé Ecrire une applet qui permette d envoyer un e-mail à partir d une page web. Cette applet devra contenir les champs From:, To:,

Plus en détail

Les exceptions en java

Les exceptions en java 1/12 Les exceptions en java 2/12 C'est quoi une exception? Une exception est un événement (une erreur) qui se produit lors de l'exécution d'un programme, et qui va provoquer un fonctionnement anormal (par

Plus en détail

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 29 octobre

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012 Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Correction de l examen écrit de

Plus en détail

Java : Les FLUX de données

Java : Les FLUX de données 1 Java : Les FLUX de données Les flux de données introduction les flux binaires les flux binaires de sortie (FBS) les flux binaires d entrée (FBE) les flux textes (FTS & FTE) les flux textes de sortie

Plus en détail

NFP121 janvier de l'an 8. MultiThreading. Thread versus Processus. Processus

NFP121 janvier de l'an 8. MultiThreading. Thread versus Processus. Processus janvier de l'an 8 MultiThreading Thread versus Processus Processus simple Code Data File Processus Multithreadé Code Data File Registers Stack Registers Stack Registers Stack Processus possède un espace

Plus en détail

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

[APPLICATON REPARTIE DE VENTE AUX ENCHERES] 2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...

Plus en détail

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30 INF 103 Langage JAVA Contrôle du 7 janvier 2015 Durée : 1h30 Nom : Prénom : Casier : Groupe :........ Écrire les réponses directement sur les feuilles du sujet dans les cases prévues à cet effet. Le barème

Plus en détail

Servlets (fin) Accès aux paramètres. GET différend de POST GET : Paramètres dans l'url POST : Paramètres dans l'header

Servlets (fin) Accès aux paramètres. GET différend de POST GET : Paramètres dans l'url POST : Paramètres dans l'header Servlets (fin) Accès aux paramètres GET différend de POST GET : Paramètres dans l'url POST : Paramètres dans l'header Masqué par l'api Méthode getparameter(), getparametervalues() [page de forumulaire]

Plus en détail

COMMUNICATION TCP FONDAMENTAUX ET PERFORMANCES

COMMUNICATION TCP FONDAMENTAUX ET PERFORMANCES TP architecture des systèmes répartis COMMUNICATION TCP FONDAMENTAUX ET PERFORMANCES On rappelle que les supports de cours sont disponibles à http://mathieu.delalandre.free.fr/teachings/dsystems.html 1.

Plus en détail

Programmation Réseau SSH et TLS (aka SSL)

Programmation Réseau SSH et TLS (aka SSL) Programmation Réseau SSH et TLS (aka SSL) Jean-Baptiste.Yunes@liafa.jussieu.fr Coloriages: François Armand armand@informatique.univ-paris-diderot.fr UFR Informatique 2011-2012 Réseau et Sécurité Problèmes

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en dé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

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

Travaux pratiques. Protocoles de la couche transport et de la couche applications

Travaux pratiques. Protocoles de la couche transport et de la couche applications Travaux pratiques Protocoles de la couche transport et de la couche applications Objectif Ce laboratoire se veut une introduction aux protocoles de la couche transport et de la couche application du modèle

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

Plus en détail

TP : Mise en oeuvre de MVC

TP : Mise en oeuvre de MVC Université de Lille 1 - Master 1 informatique 2012-2013 IHM TP : Mise en oeuvre de MVC Objectifs se familiariser avec les patrons de conception observateur et stratégie, se familiariser avec la conception

Plus en détail

Java - TP3. Nicolas Baudru, Carine Guivier-Curien, Laurent Vallet. Année 2008-2009

Java - TP3. Nicolas Baudru, Carine Guivier-Curien, Laurent Vallet. Année 2008-2009 Java - TP3 Nicolas Baudru, Carine Guivier-Curien, Laurent Vallet Année 2008-2009 Le but de ce TD est d'écrire une application client/serveur de type msn : 1. Des clients se connectent à un serveur 2. Un

Plus en détail

Cours. Majeure Informatique Ecole Polytechnique. Applications client/serveur

Cours. Majeure Informatique Ecole Polytechnique. Applications client/serveur Cours Système et Réseaux Majeure Informatique Ecole Polytechnique 7 Applications client/serveur François Bourdoncle Francois.Bourdoncle@ensmp.fr http://www.ensmp.fr/ bourdonc/ 1 Plan Les sockets d Unix

Plus en détail

TP Android Google Maps API V2

TP Android Google Maps API V2 TP Android Google Maps API V2 Objectif La création d'une application Android qui utilise les cartes Google Maps API v2 Android. Vue d'ensemble La création d'une application Android qui utilise les cartes

Plus en détail

file:///d:/wd/ens/in413/0708/les_tp/tp6_reseau/index.html TP6 Thèmes du TP : Serveurs de type "sessions"

file:///d:/wd/ens/in413/0708/les_tp/tp6_reseau/index.html TP6 Thèmes du TP : Serveurs de type sessions 1 sur 8 12/10/2007 15:50 TP6 Thèmes du TP : Serveurs de type "sessions" Architecture web et déploiement : une introduction httpunit : première utilisation Préambule : Les classes de tests unitaires présentes

Plus en détail

Gestion des tests avec JUnit

Gestion des tests avec JUnit Gestion des tests avec JUnit JUnit Outil de gestion des tests unitaires pour les programmes Java, JUnit fait partie d un cadre plus général pour le test unitaire des programmes, le modèle de conception

Plus en détail

Programmation orientée objet TP 1 Prise en main de l environnement Java

Programmation orientée objet TP 1 Prise en main de l environnement Java Programmation orientée objet TP 1 L2 MPCIE Prise en main de l environnement Java Exercice 1 Nous désirons développer un programme pour la gestion (très simplifiée) d'un parc de véhicules destinés à la

Plus en détail

Correction langage Java

Correction langage Java MINISTÈRE DE L ÉCOLOGIE, DU DÉVELOPPEMENT DURABLE, DES TRANSPORTS ET DU LOGEMENT EXAMEN PROFESSIONNEL DE VÉRIFICATION D APTIDUDE AUX FONCTIONS DE PROGRAMMEUR Session 2010 Correction langage Java Langage:

Plus en détail

ERRATA - MAGASIN VIRTUEL

ERRATA - MAGASIN VIRTUEL ERRATA - MAGASIN VIRTUEL 1 28 juillet 2005 Entre mars et juillet 2005, un certain nombre d'articles sont parus sur [http://tahe.developpez.com]. Ils avaient pour but de présenter le framework Spring aussi

Plus en détail

Master Miage 2010-2011 Réseau. La couche Application II. Les sockets : l API de la couche transport

Master Miage 2010-2011 Réseau. La couche Application II. Les sockets : l API de la couche transport Master Miage Réseau La couche Application II Les sockets : l API de la couche transport 2 Protocoles de couche application API: Application Programming Interface Définit l interface entre l application

Plus en détail

RICM 4 ème année 12/1/2012

RICM 4 ème année 12/1/2012 RICM 4 ème année 12/1/2012 Examen de Systèmes Répartis Durée : 2h, Documents autorisés à l exception des livres. Le barème est indicatif. Partie A Applications Web Question 1. Dans un répertoire contenant

Plus en détail

Informatique / Programmation

Informatique / Programmation Informatique / Programmation Programmation orientée objet avec Java 06 : Les exceptions et leur traitement Jacques Bapst jacques.bapst@hefr.ch Exceptions Les exceptions représentent des événements qui

Plus en détail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée Master 1 T.P. 1 Bases Java - Eclipse / Netbeans PDJ Environnements Java Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement d exécution

Plus en détail

TP de Java Exceptions et E/S. catch (IOException ioe) { System.out.println(" E/S problem :" + ioe);

TP de Java Exceptions et E/S. catch (IOException ioe) { System.out.println( E/S problem : + ioe); TP de Java Exceptions et E/S Sujets abordés dans ce TP : Bloc try/catch/finally Déclenchement d exception Redéfinition d exception Taxonomie des exceptions Gestion de fichiers Tokenizer 1) Les erreurs

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 7. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 7. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 7 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Facult e des Sciences - Univ. Artois Janvier 2011 Exceptions

Plus en détail

Problématique. Développement Web 2. Problématique. Jetty Création d un serveur Web

Problématique. Développement Web 2. Problématique. Jetty Création d un serveur Web Communication client/serveur Comet Problématique Problématique Développement Web 2 Problématique : Nous souhaitons réaliser un tchat Les clients se connectent au serveur; Les clients peuvent discuter;

Plus en détail

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009 Institut Supérieur d Informatique Chapitre 02 Synchronisation des processus Dr. Mohamed-Wassim YOUSSEF 2009 [www.wassimyoussef.info] Systèmes d exploitation avancées 1 ING ISI 1 ére année Ingénieur en

Plus en détail

Java Avancé - Cours 5

Java Avancé - Cours 5 Java avancé - cours 5 1/7 Java Avancé - Cours 5 Plan 1 Signature de fichier 1 1.1 Notions de base.................................................... 1 1.2 Génération d une clé.................................................

Plus en détail

EXAMEN DE JAVA 2010-2011

EXAMEN DE JAVA 2010-2011 NOM : PRÉNOM : TP : G TP EXAMEN DE JAVA 2010-2011 Consignes : avec documents, mais sans téléphone, ordinateur ou autre moyen de communication. Durée : 2h Recommandations : Le code doit être écrit en JAVA

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP Chapitre 9 Dans ce chapitre nous abordons le mécanisme RMI (Remote Method Invocation) permettant le développe ment des systèmes répartis. Nous expliquerons comment les classes d un serveur peuvent être

Plus en détail

Année 2008-2009. Les exceptions Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.

Année 2008-2009. Les exceptions Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed. Année 2008-2009 Les exceptions Java Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Introduction Supposez que vous écrivez un programme qui accède

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

Chapitre 7. Exceptions

Chapitre 7. Exceptions Chapitre 7 Exceptions 1 Exceptions en Java Séparation exécution normale/gestion des erreurs Inspiration : C++ et Ada Un composant peut : prendre en charge le problème signaler le problème en levant une

Plus en détail

Déclaration des mouvements de main-d œuvre par échange de données informatisées. Informations de mise en œuvre

Déclaration des mouvements de main-d œuvre par échange de données informatisées. Informations de mise en œuvre Ministère du Travail, des Relations sociales, de la Famille et de la Solidarité Déclaration des mouvements de main-d œuvre par échange de données informatisées Informations de mise en œuvre Mai 2008 1/11

Plus en détail

Java Avancé - Cours 1

Java Avancé - Cours 1 Java avancé - cours 1 1/8 Java Avancé - Cours 1 Plan 1 Recevoir et émettre des données simples 1 1.1 Comment récupérer une page Web.......................................... 1 1.2 Socket : l objet qui

Plus en détail

Serveurs réseau. 2011 Pearson Education France Java, mise à jour pour Java 7 Timothy Fisher

Serveurs réseau. 2011 Pearson Education France Java, mise à jour pour Java 7 Timothy Fisher 11 Serveurs réseau En pratique, il y a bien plus de chances que vous écriviez du code de client réseau que du code de serveur réseau. Toutefois, bon nombre d applications intègrent à la fois des fonctionnalités

Plus en détail