Fonctionnement de 2 clients dans une architecture RMI - Java - Programmation
Marsh Posté le 10-04-2006 à 04:51:27
Salut,
Pas forcément, tu peux spécifier dans le message à quel client s'adresse le serveur.
Marsh Posté le 10-04-2006 à 09:58:46
Auriez vous un exemple avec une classe serveur, une classe client, une interface, une classe implémentation de l'interface avec fonctionnement simultané de 2 clients?
Marsh Posté le 10-04-2006 à 16:24:13
Tu veux pas une pipe aussi ?
Code :
|
Code :
|
Code :
|
Ca m'étonnerait pas que ça compile pas, mais c'est un début.
Faut chercher par toi même un peu aussi des fois quand même (ou montrer le code que t'as déjà écrit).
Marsh Posté le 10-04-2006 à 18:34:59
Merci c'est interessant, par contre il manque une classe serveur.
Marsh Posté le 11-04-2006 à 09:20:12
Et fais une recherche google aussi car on trouve beaucoup d'exemples simples concernant le RMI sur le net...
Marsh Posté le 11-04-2006 à 09:23:48
En fait j'en ai trouver mais il ne mettait pas en evidence le fonctionnement de 2 clients
Marsh Posté le 11-04-2006 à 09:25:33
Et bien quand tu sais le faire pour un, tu sais pour deux...
Marsh Posté le 11-04-2006 à 10:11:34
En fait le client ne fonctionnait pas beaucoup il envoyait juste un entier au serveur et s'arettait, du coup pour en faire fonctionner 2 en même temps, pas terrible.
Sinon je voulais une confirmation: pour faire communiquer un client et un serveur il faut bien passer par la classe implementant l'interface, avec une variable dans cette classe, une méthode permettant d'affecter une valeur à cette variable et une autre methode permettant de récuperer la valeur de cette variable.
Marsh Posté le 11-04-2006 à 10:18:09
Le client travaille sur un objet distant qui implémente une interface que tu as écris.Cette interface étend elle-même l'interface Remote (je ne suis plus sûr du nom). Cette interface définiera les méthodes qui seront accessibles à distance.
Marsh Posté le 11-04-2006 à 10:27:59
Par exemple dans l'interface feuilleCahier
On a les methodes
public void ecrireCahier(String motEcrit)
public String lireCahier()
Et dans la classe de l'implementation de l'interface
public class feuilleCahierImpl{
private String motCahier;
public feuilleCahierImpl(){}
public void ecrireCahier(String motEcrit){
motCahier = motEcrit;
}
public String lireCahier(){
return motCahier;
}
Marsh Posté le 11-04-2006 à 10:47:26
Nan c'est pas bon, je vois pas les héritages et les implémentations...
http://perso.wanadoo.fr/jm.doudoux [...] hap024.htm
Marsh Posté le 11-04-2006 à 11:50:40
Non mais j'ai juste fait un exemple sans le client et le serveur.
Marsh Posté le 11-04-2006 à 12:04:11
De toute maniére je vais te laisser car tu n'as pas l'air de chercher beaucoup de ton côté... Pourtant c'est la meilleure façon d'apprendre...
Marsh Posté le 11-04-2006 à 13:15:04
Si puisque hier j'ai reussi a ecrire sur le client et c est le serveur qui affiche ce que j a ecrit. Mais en faisant de la même facon que dans l exemple que j ai montré. La seule chose que je voulais savoir est si c'était la bonne solution
Marsh Posté le 13-04-2006 à 14:29:42
Maintenant mon problème est de rendre accessible une interface graphique à chaque client. doit-on créer l'interface au niveau de chaque client ou la créer au niveau du serveur et la rendre accessible aux clients?
Marsh Posté le 14-04-2006 à 08:22:47
Tu t'attaques à un peu plus compliqué tout de suite. Moi j'ai déjà fais des GUI sur le client avec des transferts des informations entre Client et Serveur via RMI. Il me semble avoir utiliser des objets Observer Observable en Remote....
ps : édites tes message !!!
Marsh Posté le 14-04-2006 à 08:38:51
En fait j'arrives bien à comprendre qu'on puisse récupérer une variable style INT ou STRING au niveau du client, par contre j'ai plus de mal a capter qu'on puisse faire la même chose avec un objet.
L'objectif final étant que chaque client est accès à la même interface graphique et une modifiction de celle-ci par un client se voit depuis l'autre client.
Marsh Posté le 14-04-2006 à 08:42:18
Donc c'es tce que je dis, il faut que tu utilises des objets RemoteObservable et Observer (facilement trouvable sur le net, mais tu peux les écrire par toi-même, c'est pas bien compliqué). Et lorsque tu souhaites que ta méthode retourne un objet, alors la seule contrainte sur cet objet et qu'il implémente l'interface Serializable.
Marsh Posté le 14-04-2006 à 11:14:33
Voilà ce que j'ai trouvé à ce sujet là.
http://www.javafr.com/codes/OBSERV [...] 35703.aspx
Quelqu'un aurait-il déjà fait un jeu , style Echec Dame ou Puissance 4 en Client-Serveur utilisant RMI?
Marsh Posté le 08-04-2006 à 16:38:53
Bonjour
Lorsqu'on veut faire fonctionner 2 clients dans une architecture avec RMI:
doit-on créer 2 classes clients?
est-ce que les 2 clients se connecte à la même instance d'interface ?
ex: CountRmi cr = (CountRmi) java.rmi.Naming.lookup("rmi://localhost/CountRmi1" );
CountRmi cr2 = (CountRmi) java.rmi.Naming.lookup("rmi://localhost/CountRmi1" );
avec CountRmi comme interface
Message édité par marc90 le 08-04-2006 à 17:03:00