Master Informatique `a Distance
Communication dans les Syst`emes Distribu´es
Julien Bernard
Ann´ee 2011–2012
Table des mati`eres
TD1 : La communication 3
Exercice 1 : Premi`ere communication ................... 3
Exercice 2 : Synchronisation de la communication ............ 3
Exercice 3 : Diff´erentes probl´ematiques de communication ....... 4
TD2 : Premiers pas avec les sockets 6
Exercice 4 : Premi`eres sockets ....................... 6
Exercice 5 : Plusieurs ´echanges ...................... 7
Exercice 6 : Communication `a plusieurs ................. 7
Exercice 7 : Taille des donn´ees inconnue ................. 8
TD3 : Sockets des experts 9
Exercice 8 : Sans biblioth`eque ....................... 9
Exercice 9 : Biblioth`eque de socket connect´ees .............. 9
Exercice 10 : Synchronisation et blocages ................ 9
Exercice 11 : Communication structur´ee ................. 10
TD4 : Les sockets Java 11
Exercice 12 : Communication par buffeur ................ 11
Exercice 13 : Communication objet .................... 11
Exercice 14 : Communication Java-C ................... 11
TD5 : La programmation client/serveur avec sockets 13
Exercice 15 : Serveur concurrent de calcul ................ 13
Exercice 16 : Serveur multi-services .................... 13
TD6 : La programmation client/serveur avec sockets 15
Exercice 17 : D´efinition de protocole pour le serveur de calcul ..... 15
Exercice 18 : Serveur de num´eros de port ................ 15
TD7 : D´eveloppement et ex´ecution d’applications RMI 16
Exercice 19 : Application Hello distribu´ee ................ 16
Exercice 20 : Calcul distribu´e d’une approximation du nombre Pi . . . 16
Exercice 21 : Encore une autre m´ethode d’approximation du nombre Pi 17
1
TD8 : Passage de param`etres dans les applications RMI 18
Exercice 22 : Boˆıte `a messages ´electroniques ............... 18
TD9 : T´el´echargement dynamique de classes et activation 20
Exercice 23 : T´el´echargement dynamique de classes en RMI ...... 20
Exercice 24 : Activation en RMI ..................... 20
TD10 : G´en´eralit´es sur CORBA 21
Exercice 25 : Questions du cours ..................... 21
TD11 : Premi`eres applications CORBA 23
Exercice 26 : Hello ............................. 23
Exercice 27 : Horloge ............................ 23
Exercice 28 : Boˆıte `a messages ...................... 24
TD12 : Types anonymes et invocations dynamiques en CORBA 25
Exercice 29 : Le type Any ......................... 25
2
TD1 : La communication
Exercice 1 : Premi`ere communication
Les questions suivantes permettent d’illustrer de mani`ere pratique la mise
en place d’une communication. Il est donc n´ecessaire de recopier d’abord le
code source pour pouvoir faire l’exercice. L’ex´ecution ne peut se faire que sur
une seule machine. Les fonctions envoyer et recevoir sont implanees sous la
forme d’une biblioth`eque.
Question 1.1
Se placer dans le r´epertoire ex1/qu1, compiler les programmes (`a l’aide de
la commande make) et ex´ecuter recepteur puis emetteur, dans deux fenˆetres
s´epar´ees.
Question 1.2
Modifier les programmes recepteur et emetteur de mani`ere `a ce que recep-
teur retourne un message `a emetteur.
Question 1.3
Que se passe-t-il lorsque recepteur demande `a recevoir deux fois puis envoie
alors que emetteur envoie, puis re¸coit et envoie ?
Question 1.4
Que se passe-t-il lorsque recepteur et emetteur envoient en mˆeme temps
puis re¸coivent en mˆeme temps ?
Exercice 2 : Synchronisation de la communication
Le but de ces exercices est de comprendre comment sont mises en place les
synchronisations entre les programmes communicants.
3
Question 2.1
Quel est le mode de synchronisation le plus adapt´e pour acc´eder `a une base
de donn´ees ? On peut envisager que l’´emetteur donne le contenu de sa requˆete
SQL dans un message et re¸coit le r´esultat dans un autre message.
Question 2.2
Quel est le mode de synchronisation le plus adapt´e pour envoyer un mes-
sage publicitaire `a un ensemble de destinataires ? Il est possible que la liste des
destinataires ne soit pas `a jour.
Question 2.3
Quelles primitives de communication et quelle synchronisation utiliser pour
permettre une mise au ench`eres ? Un programme principal tient le rˆole de com-
missaire priseur aupr`es duquel des participants peuvent s’inscrire (il leur arrive
d’oublier de se d´es-inscrire) et faire des offres.
Question 2.4
Quelles primitives de communication et quelle synchronisation utiliser pour
d´evelopper un programme de jeux sur internet ? Les joueurs s’inscrivent et jouent
des parties `a plusieurs. On suppose qu’il est possible de savoir quand l’un des
joueurs quitte le jeu et que chaque joueur doit jouer `a son tour.
Exercice 3 : Diff´erentes probl´ematiques de com-
munication
Le but de ces exercices est de r´efl´echir `a diff´erents probl`emes pos´es par la
communication.
Question 3.1
D’apr`es vos connaissance acquise en syst`emes d’exploitation quel type d’iden-
tification est mis en place pour les fichiers locaux `a une machine ? Comment est-il
possible d’identifier des fichiers de l’ensemble des machines sur un r´eseau ?
Question 3.2
Dans le programme de mise aux ench`eres pr´ec´edent, quel mode de com-
munication est le plus adapt´e : connect´e ou non-connect´e ? Et dans le cas du
jeu ?
4
1 / 27 100%
Study collections
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !