begin process at 2010 02 10 11:57:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > CLIENT SERVEUR GENERIQUE MULTI-CLIENT SERIALISATION/DESERIALISATION DES ECHANGES

CLIENT SERVEUR GENERIQUE MULTI-CLIENT SERIALISATION/DESERIALISATION DES ECHANGES


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseaux & Internet Source .NET ( DotNet ) Classé sous :thread, socket, clientserveur, sérialisation Niveau :Débutant Date de création :07/02/2008 Date de mise à jour :12/02/2008 23:12:43 Vu / téléchargé :10 790 / 1 463

Auteur : PROMEUF

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 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 !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

07 février 2008 01:52:13 :
Oubli client
07 février 2008 16:36:13 :
corrections
07 février 2008 18:06:18 :
Prise en compte des remarques
09 février 2008 18:24:40 :
Intégration d'une hashtable + adaptée au traitement
10 février 2008 04:38:59 :
Délimitation des zones de traitements spécifiques
12 février 2008 23:12:44 :
Modif des commentaires

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) HTTP FLOOD STRESS TEST par NightMareLmW
Source avec Zip Source avec une capture Source .NET (Dotnet) SERVEUR/ESCLAVE MODBUS TCP/IP par SteveFuchsIT
Source avec Zip Source avec une capture Source .NET (Dotnet) IPHELPER - PORTS TCP/UDP, TABLES DE ROUTAGE/ARP + FONCTIONS ... par Willi
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET3.5] SYSTEM.IO.PIPES - UTILISATION D'UN CANAL NOMMÉ par Willi
Source avec Zip Source .NET (Dotnet) MESSAGES PERSOS MSN par XelectroX

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) GESTION DE PARC AUTOMOBILE AVEC SÉRIALISATION par guyr07
Source avec Zip Source avec une capture Source .NET (Dotnet) CALCUL D'EMPREINTES DE FICHIERS par lex35
Source .NET (Dotnet) EACHPARALLEL par SoaR245
Source avec Zip Source .NET (Dotnet) TRAITER UN FOREACH EN PARALLÈLE par maitredede
Source avec Zip Source .NET (Dotnet) UN RICHTEXTBOX À PARTIR D'UN MEMORYSTREAM par Robert33

Commentaires et avis

Commentaire de wizad le 07/02/2008 10:06:19

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.

Commentaire de PROMEUF le 07/02/2008 18:16:41

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.
"

Commentaire de higgens66 le 18/06/2009 11:56:16

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.

Commentaire de higgens66 le 18/06/2009 12:41:21 7/10

Je viens d'ajouter une note!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Comment stopper un thread lorsqu'il est bloqué par une fonction bloquante [ par billou_13 ] En voila une question que je me pose depuis très longtemps !En fait, je lance un serveur TCP/IP qui attend des clients en faisant la fonction Soc Client IRC [Sockets/Threads] [ par SpecialCharacter ] Bonjour, je me suis mis à la programmation d'un petit client IRC Il ressemble en beaucoup de points à tous ceux des débutants je n'en doute pas. Il e Multi threading using TCP and socket [ par gdupasqu ] Bonjour,je suis entrain d'écrire un programme (client et serveur).Le serveur fonctionne comme ceci: 1. Le serveur écoute sur un port fixé. 2. Lorsqu'u Multi Threading en utilisant TCP [ par gdupasqu ] Bonjour,je suis entrain d'écrire un programme (client et serveur).Le serveur fonctionne comme ceci:1. Le serveur écoute sur un port fixé.2. Lorsqu'un Problème de thread, socket et form [ par Florynth ] Bon pas très compliqué,j'ai créé un thread qui écoute un portaprès je pèse sur un bouton qui fait connectédonc il créé un socket le connect au port en Pb d'affichage de fenetre et thread... [ par bigflo ] Salut,Je developpe un client de tchat en c#.Mais j'ai quelque pb d'affichage des fenetres de tchat. Explication:Bon, j'ai une treeview et lorsque je d thread en C# [ par karshnod ] Bonjour, je me permet de poster car je suis sur un probleme que je ne comprend pas J'ai une WinForm, qui detecte la navigation sur Ie. J'ai un thread [c#] Sérialisation en XML [ par oberown ] Pour sérialiser en XML, il fut mettre les attributs des classes en public.Est-il possible de sérialiser en l-aissant les attributs en private ?Est-ce Thread + NetworkStream [ par JuS ] Je vais vous exposer mon problème (c'est un peu long à lire et à comprendre...)Je programme un programme client/serveur.Le client, en C#, communique a Comment ouvrir une socket bluetooth en c# [ par super_toinou ] Bonjour, Je voudrai ouvrir une socket pour transmettre des String en bluetooth vers autre terminal bluetooth(un pocket pc ou smartphone). Je n'arriv


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales