OBJETS DISTRIBUES : Corba
TP2 : prise en main (Hello World)
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.
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") )
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.
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();