MudRMI

(c) J. Ferber - 2001-2005

MudRMI est un petit programme de jeu qui montre l'utilisation de RMI (Remote Method Invocation), une technologie Java qui permet de distribuer des objets sur un réseau.

Principe

Des 'personnages' se déplacent sur un 'territoire' où se trouvent des obstacles et d'autres personnages. Un personnage ne peut se déplacer que vers une place libre. On peut directement sélectionner un personnage à partir du serveur afin de contrôler ses déplacements.

On peut aussi lancer des clients qui permettent de contrôler un personnage à la fois. On ne voit plus les obstacles, ni les autres personnages, mais s'ils sont sur notre chemin, il bloquent toujours le passage de notre personnage.

La partie graphique de ce programme est volontairement très simple, pour qu'on comprenne bien ce qui se passe, et notamment le lien qui existe entre les objets distants qui travaillent côté serveur, et les objets "stubs" qui sont appelés et manipulés par le client.

Pour l'instant il n'existe que deux versions de MudRMI:

Mud1: qui fonctionne en mode local (pas de distribution possible)..

MudRMI qui, comme son nom semble l'indiquer, est la version distribuée du jeu qui utilise la technonologie RMI située au dessus du langage Java et qui permet de réaliser des applications distribuées en maintenant l'écriture "objet" d'un programme. Téléchargez l'archive, décompressez là.

1) Si vous êtes sous Windows, éditez le fichier 'run_server.bat' et remplacez 'hegel' par le nom de votre ordinateur hôte. Puis lancez le fichier.. Vous verrez apparaître l'application du côté serveur. Cliquez sur 'Personnage' et ajoutez des personnages à différents endroits du jeu. Ajoutez des obstacles aussi si vous le désirez. (si vous êtes sur Unix, créez vous un fichier .sh en vous inspirant du fichier .bat ou lancez directement les commandes depuis la console).

2) Du côté client, lancez le programme par 'run_client.bat' (sous Windows. Pour Unix, faites un fichiers .sh qui correspond). Puis cliquez sur 'select'. Changez le nom 'localhost' en plaçant le nom de l'ordinateur serveur, fermez la fenêtre de dialogue et recliquez sur 'select'. Vous devriez voir maintenant la liste des personnages distants possibles. Choisissez en un, cliquez sur 'OK' et vous avez maintenant la possibilité de manipuler directement votre personnage distant.

Si vous le désirez, lancez plusieurs autres clients et observez ce qui se passe... et notamment la mise à jour des personnages...