Bonjour,
J'ai développé une appli client serveur qui fonctionne parfaitement, et qui est basé sur les sockets et la sérialization.
J'ai organisé les communications de la manière suivante :
lecture d'une constante (int)
appelle d'une méthode qui selon la valeur de la constante effectue les échanges nécessaires entre le client et le serveur (lecture d'objets, envoie réponse, ...)
Tout cela fonctionne comme prévu mais la méthode comporte un switch très important. Donc j'aurai aimé avoir des propositions afin de restructuré tout cela différemment.
J'ai pensé à deux possibilités mais je les ai exclus:
- ajouté une interface à tous les objets sérializable de facon à ce qu'il est une méthode éxecute qui fasse le travail nécessaire. Je ne veux pas cette solution que des opérations différentes peuvent être effectué sur le même objet, et de plus je ne veux pas que le client possède l'ensemble des classes. Certaine classes doivent rester coté serveur.
- encapsulation d'une objet dans un autre qui serait unique pour chaque opération. J'ai longtemps hésité à adopté cette solution mais le problème vient de la taille de la transmission qui augmente considérablement et donc ralenti le processus (davantage que l'utilisation du switch qui n'est pas trop gourmant vu l'application mais trop à mon souhait).
- enfin j'ai pensé à un traitement XML, mais le temps de mis en oeuvre est conséquant et je prèfère me tourner vers une autre solution.
Donc si quelqu'un peut me proposer une idée, je l'en remercie.
Autre question, est-il nécessaire d'ouvrir les ports sur un routeur (le port défini pour la socket chez le client).
Partager