OBJETS DISTRIBUES : Corba

TP2 : prise en main (Hello World)

1 Faire fonctionner le code d’exemple

A/ un code d’exemple vous est donné à partir d’une interface Hello, dont le serveur dit « hello » sur le serveur à la demande du client. Ci-dessous l‘interface :

 

interface Hello {

  void say_hello();

};

 

Le client contient l'IOR du serveur en DUR dans son source.

 

Configurer l'environnement, créer le makefile ou le projet Visual C++ pour faire marcher l'exemple.

Voir les annexes.

 

Fichiers sources fournis pour le serveur :

 

Fichiers sources fournis pour le client :

 

Egalement le makefile (pour ceux qui n’en n’ont pas peur !)

 

Vous pouvez vous servir du projet Code::Blocks ci-dessous :

 

Détails :

Pour créer les variables d’environnement et créer un projet adéquat sous Visual C++ ou alors utiliser « make », voir les annexes.

           

B/ Faire fonctionner le Hello Word réparti sur 2 machines.

2 Access à l’objet serveur via fichier

Modifier le serveur pour qu'il écrive son IOR dans un fichier.

Modifier  le client pour que l'IOR soit lue depuis ce fichier.

 

Indication : utiliser l’objet C++ standard ofstream declaré dans <fstream.h>
(exemple ofstream f("fichier.txt") )

 

3 Compter les appels serveurs

Modifier le serveur pour qu'il renvoie une chaîne "Hello World n°X" ou X est le nombre d'appels que le serveur a reçu.

4 Client interactif

Modifier le client pour qu'il boucle sur une attente clavier permettant à l’utilisateur :

-          de faire l'appel à " say_hello"

-          de demander au serveur de se terminer

-          de se terminer lui-même

 

il faut pour cela modifier l’interface hello pour avoir une méthode en plus :

    void shutdown();

Régénérez à partir de l’IDL et écrivez le code correspondant.

 

Indication : Sur le serveur le mieux est de faire appel à :

    orb_ -> shutdown();