Client serveur generique multi-client serialisation/deserialisation des echanges

Soyez le premier à donner votre avis sur cette source.

Vue 18 562 fois - Téléchargée 2 462 fois

Description

Apllication client serveur génerique, à base de sockets tcp et de thread, car l'envoi et la réception se fait via la sérialisation d'une instance d'objet de la classe 'connex'.
Toutes applications mono-poste développées selon les principes MVC peuvent facilement être intégrées dans ce C/S.En effet la vue sera initialisée coté client après la connexion, le modèle et le contrôleur sont appelés dans le thread de traitement des messages cote serveur.

L' intégration de vos traitements spécifiques est clairement délimitée 2 zones dans le client après connexion sur le serveur et après réception d'un message , 2 zones dans le serveur après déconnexion d'un client et dans le thread de traitement des réceptions .

NB : l'assembly client doit être intégré cote serveur pour assurer la sérialisation.

BON COURAGE !

Conclusion :


Merci à tous les codes sources sur le c/s et les sockets !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_wizad
Messages postés
356
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009
-
Bon alors en vrac...
Tout d'abord qu'est-ce qu'un système de socket viens faire dans un modèle MVC?
L'organisation de tes sources est assez perturbante. (Par exemple dans le client model aurait du être connex et inversement).
Le convention de nommage ne sont pas vraiment respecté (exemple : en c# on utilise pas de _ au début du nom des variables privés) ce qui rend ton code assez illisible.
Et je viens de voir que le _ en début de variable ne représente même pas toujours des variables privées.

Enfin ta source est peu réutilisable car mal organiser et absolument pas commentée.

En bref je dirais que ça vaut un note entre 2 et 3... je noterais dans quelques jours en fonctione des améliorations que tu aura apportés.
PROMEUF
Messages postés
4
Date d'inscription
lundi 3 octobre 2005
Statut
Membre
Dernière intervention
7 février 2008
-
En accord avec tes remarques développement un peu rapide, ai essayé d'apporter une tentative de normalisation du code et des commentaires
je ne comprends pas "model aurait du être connex"
Pour l’approche MVC je ne suis pas d’accord avec tes remarques.Cet approche fait que la vue n’effectue aucun traitement ceux ci sont déportés dans le modèle et l’acces aux données dans le contrôleur et la communication se fait via une instance de la classe modele.
Ici la sérialisation permet de transporter sur le serveur cette instance de classe et de communiquer avec le modèle dans le thread de traitement de l’information du serveur qui peut appeler le contrôleur.
Merci pour ton regard sur ce source et tes conseils.
"
higgens66
Messages postés
6
Date d'inscription
lundi 28 février 2005
Statut
Membre
Dernière intervention
18 juin 2009
-
Bonjour,
Tout d'abord, je dois te féliciter pour cette source car le code, bien que tenant compte de la remarque de Wizard, soit un peu pauvre en commentaire et en convention, est bien réussi et tourne plutôt pas mal du tout. Il y a plein de petites astuces que je trouve assez sympa dans ton idée.
Par contre, je suis occupé à essayer de le mettre en œuvre dans une application et tout va presque bien excepté que, aléatoirement, le socket ne veut pas me renvoyer l'info du serveur vers le client. Je vois bien l'info sortir du serveur mais pas rentrer sur le client!!!
En fait, je n'ai pas encore implémenté tes méthodes spécifiques pour la gestion des messages en dehors de la classe de connexion mais je n'arrive pas à appeler les delegates pour les faire fonctionner. A mon avis je dois me tromper quelque part. Bref, puis-je te demander de me donner un petit aperçu de l'implémentation de ton delegate (ATOIDEBOSSER) dans une autre classe.
Merci.
Une fois que j'aurai bien avancé, je mettrai certainement les corrections faites à ta disposition pour que tu puisse y voir les changements. Le code modifié ne sert pas du tout à du chat mais à une gestion de messages spécifiques entre un client et un serveur.
higgens66
Messages postés
6
Date d'inscription
lundi 28 février 2005
Statut
Membre
Dernière intervention
18 juin 2009
-
Je viens d'ajouter une note!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.