begin process at 2012 05 30 01:44:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Probleme Architecture client Serveur Multithread


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme Architecture client Serveur Multithread

jeudi 18 décembre 2003 à 18:50:09 | Probleme Architecture client Serveur Multithread

kawito


Bonjour,

j'ai fais un client serveur TCP qui doit gerer n connexions(win32 c++) winsowk1.1.

le serveur gere les connexions a travers un thread accept
qui lance dynamiquement des thread de reception de chaque nouveau client.



en image (en esperant qu'elle s'affiche?):


l'echange des info a la connexion d'un client se passe bien,
mais lorsque que le serveur envoie un message, les clients connectée recoivent 1 message sur 2.

par contre les clients envoie a coup sur leur messages au serveur, mais une fois sur deux au autre clients connectés.

je perd donc des messages qui pourtant sont envoyés sans erreurs et de la bonne longueur ?
mais ce message n'arrive jamais au client !

je pense que cela vient des send a suivre qui foute le bordel
je resume:

Serveur client

send("MESSAGE_CHAT")--------> thread recv (commande)
traitement commande
"MESSAGE_CHAT"
send("Bonjour ça va") --------------------> recv(data)
afficher message





est ce qu'il faut respecter l'alternace de send et recv ?
Serveur client

send() ----> recv()
recv <----- send()
send()------->recv()


s'il le faut ? ,lorsque je fais des envoie depuis le processus principal ,pas de probleme,mais je ne peut pas faire de recv() dans le processus principal car le thread de reception et deja en attente d'une donnée ?

j'ai bien essayer de mettre le thread en pause,
puis faire mes send et mes recv,puis de le relancer,mais pas mieux!


kawito
samedi 20 décembre 2003 à 22:14:12 | Re : Probleme Architecture client Serveur Multithread

vidarusny


En voila une explication bien longue. Pour la réponse (je suis pas sûre d'avoir tous compris), oui il faut respecter les send et les recv, mais la question est quel mode utilise? Bon a priori je dirait un mode connecter, si tels est le cas lorsque ton client demande une connection a ton serveur, il ne peut plus se connecter à un autre serveur tant que tu n'a pas libérer la connection (idem poiur le serveur!).
En clair qu'en un client et un serveur se "parlent" il n'entende rien d'autre, ce qui peut effectivement expliquer que des message soit perdu (quoique c'est un problème qui est plus habituel dans le mode déconnecter)
enfin tu peut avoir plus d'explication à cette adresse :
http://www.themanualpage.org/reseau/reseau_concepts.php3

Voila si c'est pas ca alors c'est la gestion de ton thread.


Cette discussion est classée dans : message, send, serveur, client, recv


Répondre à ce message

Sujets en rapport avec ce message

Fonctions send et recv [ par bubbless ] Bonjour, Dans le cadre d'un projet, je réalise actuellement un système serveur / client, et je me trouve confronté à un probème : le serveur acc recv recoit null [ par sena ] bonjour,jai un client serveur TCP tout simple en TCP.mon client envoi des caractères au serveur et le serveur lui fait un accusé de reception en lui r Aide pour programmation de socket en C sous unix [ par badjess ] Salut a Tous,Je suis un novice en programmation en Socket en sous environnement Linux. Aussi, j'ai essayé de trouver des programmes client serveur sur Evènement sur un socket client [ par darsh99 ] J'aimerais savoir si la méthode utilisée par BlackGoddess pour son serveur (http://www.cppfrance.com/article.aspx?ID=1287) est récupérable pour gérer Client/serveur (probleme d'espace) [ par redwings ] Client/Serveur      J'ai mis au point l'executable du client et celui du serveur et cela marche tres bien : cad le message envoyé d'un poste client es Blocage socket recv() lorsque send() a envoyé 1418 octets - entre 2 freebox [ par billbaxter ] Bonjour, J'ai développé une appli client-serveur avec les winsock2 en me référant aux exemples MSDN, donc à priori dans les règles de l'art.Le client socket client (php) vers serveur (c++) [ par suleyman ] bonjour, je suis debutant, je nai jamais programmer une socket et jaimerai avoir le code source ainsi que les commentaires dune socket client et serve comment distingué 2 clients dans un chat en mode tcp [ par facilus ] slt tt le monde,jé fé un pti source pour dialogué entre 2 client et un serveur avec le langage c sous unix, sachant ke avec la fontion accept elle ret Recevoir message avec mon serveur [ par Nixeus ] Bonjour amis codeur !Je code actuellement un serveur en MFC avec Visual Studio 6.Il fonctionne très bien, le serveur démarrer, il est en écoute, et un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 1,388 sec (4)

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