Bonjour,

Je sèche sur une partie de mon travail. Je dois réaliser 3applications qui communiquent entre elles en réseau. La connection,... se passe bien mais ce sont les échanges qui posent problème.

Je m'explique: Le client doit se connecter à une banque et pour s'identifier il doit envoyer son login et mot de passe à la banque. Ce que je récupère dans l'interface graphique et je le stocke dans:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
class SimplifiedClient{
  String name, password;
  ...
}
Pour l'envoi/réception, j'ai pensé bon de créer une nouvelle classe ObjNetwork:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
class ObjNetwork{
  String message;
  Object obj1;
  Object obj2;
  ...
}
Elle s'adapterait en fonction du type d'envoi (NewClient, BuyStock, Disconnect,...) avec chaque fois les objets nécessaires.

Donc dans le cas de la connection, je créée un ObjToSend:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
clientToto = new SimplifiedClient("Titi","12345");
ObjToSend = new ObjNetwork("NewClient", (Object) clientToto);
J'envoie et puis dans la banque je reçois, l'objet ObjNetwork que je traite comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
clientToto = (SimplifiedClient)objToReceive.getObj1();
System.out.println(clientToto.getName()+" est connecté");
Les méthodes existent bien,... mais il n'arrive pas à m'afficher le nom de clientToto. J'ai l'impression que les casts dans les deux sens font que ça foire. (SimplifiedClient -> Object -> SimplifiedClient).

Dans la banque, je n'utilise pas de constructeur (étant donné que je caste). Faudrait-il en créé un, si oui comment?

Autrement comment pourrais-je faire pour transiter plusieurs variables d'un coup sans pour autant créer des nouvelles classes pour chaque type de communication?

Merci par avance pour votre aide.