begin process at 2012 05 28 08:50:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Client serveur TCP, pb multi Thread


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

Client serveur TCP, pb multi Thread

lundi 21 juin 2004 à 15:28:35 | Client serveur TCP, pb multi Thread

valoue

Bonjour,

Voilà, je suis en train de développer un client serveur en C++ (sous VC++ .net).
Pour le moment, j'ai créé le serveur et le client, ils marchent.
Cependant, lorsque j'ai voulu lancer un scenario, pb !!
Je lance le serveur
Je lance le client
Le client envoie un msge au serveur
Le serveur doit repondre au client
Le serveur repond (send se passe bien)
Le client doit alors recevoir, mais pb sur le recv (erreur 10054).
Apparement, c'est un pb de synchronisation. Le recv est bloquant et le pb serait dû a ça !

Pour le moment les sockets que j'utilise sont des "int", et pour les créer je fais
s = socket (.....).

Auriez vous une solutions a mon pb svp ?
merci d'avance

Valoue
lundi 21 juin 2004 à 18:17:02 | Re : Client serveur TCP, pb multi Thread

patatalo

Membre Club Administrateur CodeS-SourceS

salut,

Fait une recherche sur la fonction WSAAsyncSelect

@++
mercredi 23 juin 2004 à 01:35:45 | Re : Client serveur TCP, pb multi Thread

NitRic

Pour commencer un socket c'est pas un int mais un unsigned int sous Windows

Ensuite, tu peux mettre ton socket non bloquant si tu le veux avec la petite fonction ioctlsocket()

unsigned long dwNoBlock = 1;
ioctlsocket( nSocket, FIONBIO, &dwNoBlock );
/*
renvoie SOCKET_ERROR(-1) en cas de problème
*/

ensuite, c'est pas un problème de synchronisation mais seulement que la connexion à été fermé

10054 = WSAECONNRESET

Vérifie auprès de ton serveur pour voir si ce n'est pas lui qui ferme la connexion car il y à perte de connexion la

Si tu utilise socket()/recv()/etc ... utilise select() dans ton serveur, tu peux aussi l'utiliser dans ton client

et avoir des sockets qui bloque, ce n'est pas la fin du monde:

int nResult = -1;
int nError = 0;

nResult = recv( nSocket, Buffer, BufSize, 0 );
if ( nResult > 0 ) {
/* c'est okay */
puts(Buffer);
putchar('\n');
}
else if ( nResult == 0 ) {
/* connexion fermée 'proprement' */
}
else {
/* problème */
nError = WSAGetLastError();
if ( WSAEWOULDBLOCK != nError ) {
return nError;
}
else {
/* débloque ton socket */
}
}


Ton problème est une perte de connexion tout simplement.


~(.:: NitRic ::.)~


Cette discussion est classée dans : pb, serveur, client, multi, tcp


Répondre à ce message

Sujets en rapport avec ce message

Serveur TCP multi-client [ par meech ] Bonjour,Je me suis attelé au développement d'un serveur TCP (extensible à divers protocoles) sous Win32 en C.Concrètement, je souhaiterais connaitre l connexion client serveur simultanée [ par Spiffou ] bonsoir à tous, j'ai une ptite question, bizarre... j'ai programmé une application reseau qui communique en mode client serveur... le pb est que cett exemple de code TCP Pull et push d'un serveur d'image [ par joserivo ] Tout est dans le titre.Il s'agit de l'ecriture en C++ du protocole TCP Push et TCP Pull pour acceder à un serveur multimedia.Pour detailer ces protoco client serveur TCP sous unix [ par ossona ] bonjour,je suis vraiment en galere !je n arrive pas a faire un programme client-serveur TCP simple ou il y a seulement un serveur et 3-4 clients pas b problème serveur TCP en C [ par lenneth666 ] Bonjour j'ai essayé de faire un client server TCP en C mais mon serveur bloque a l'instruction suivante : client_socket = accept( ma_socket,(struct Comment on fait un serveur multi-client avec Winsock 2 [ par Mick7 ] voila je voulais savoir comment on fait un serveur multi-client, si il fallait obligatoirement utiliser des threads, si il fallait creer un socket par Serveur multi client [ par akvar ] Bonjour, Dans le cadre de mon projet réseau à l'école il faut que je fasse un serveur multi client en C. Mais je suis demandé de faire authentificat Client - Serveur . TCP [ par sebounty ] Bonjour,Je suis, comme qui dirais debutant en Programmation C, C++.Aujourd'hui j'aimerais réaliser un Client Serveur TCP, Cependant, tous les codes qu Jeu multi sur internet [ par tibe18453636 ] Bonjour,j'aimerai savoir comment faire un échange de données entre un serveur et un client sur internet en vue de creer un jeu en multi.Pour l'instant Meilleur moyen pour chat multi client. [ par deck_bsd ] Yop à tous,Voila , je suis en train de dévelloper un chat multi client pour le réseaux chez moi. Mais voila , en codant le serveur , je me trouve à un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 4,758 sec (3)

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