IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Problème client-serveur : Err 10054


Sujet :

C++

  1. #1
    En attente de confirmation mail
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Points : 54
    Points
    54
    Par défaut Problème client-serveur : Err 10054
    Bonjour à tous,

    je suis en train de réaliser une architecture client-serveur en C++ de la facon suivante : (je passe tout le code de connection (bind, etc.) qui fonctionne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    //## SERVEUR ##//
    while (...)
    {
    	//Recoit le nombre de données à recevoir
    	nombre_d_octets_a_recevoir=recv(id_de_la_nouvelle_socket,(char*)&buffer2,4,0);
    	if (nombre_d_octets_a_recevoir==SOCKET_ERROR)
    	  {
    		cout << "Erreur, je n'ai pas recu la taille du fichier !\n\n";
    		system("PAUSE");
    		return -1;
    	  }
     
    //Recoit les données à recevoir		
    	nombre_d_octets_a_recevoir =recv(id_de_la_nouvelle_socket,buffer,buffer2,0);
    	if (nombre_d_octets_a_recevoir ==SOCKET_ERROR)
    	  {
    		cout << "Erreur, je n'ai pas recu le fichier !\n\n";
    		system("PAUSE");
    		return -1;
    	  }
    	else
    	  fichiers.write(buffer,nombre_d_octets_a_recevoir); 
      }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    //## CLIENT##//
    while(nbdonneaenv==47000)
      {
      // Envoie de la taille des données à envoyer
    	nombre_de_caractere=send(id_de_la_socket,(char*)&nbdonneaenv,4,0); 
    	if (nombre_de_caractere==SOCKET_ERROR)
    	  {
    		cout <<endl<< "SO : D\202sol\202 6, je n'ai pas envoy\202 les donn\202es du a l'erreur : ";
    		cout << WSAGetLastError() << "\n\n";
    		system("PAUSE");
    		return -1;
    	  }
     
      //Envoi des paquets   
    	nombre_de_caractere=send(id_de_la_socket,buffer,nbdonneaenv,0);
    	if (nombre_de_caractere==SOCKET_ERROR)
    	  {
    		cout << "SO : D\202sol\202 7, je n'ai pas envoy\202 les donn\202es du a l'erreur : ";
    		cout << WSAGetLastError() << "\n\n";
    		system("PAUSE");
    		return -1;
    	  }
      }

    Voici mon problème,
    sachant que le client est amené à reboucler de nombreuses fois sa boucle while (donc de nombreux send à la suite et qui se suivent très rapidement), j'obtiens l'erreur suivante au bout d'un certain temps : WSAGetLastError() = 10054 (fermeture d'un manière inattendu). En fait mon serveur reçoit, à un moment, une mauvaise valeur de nombre de données a recevoir alors cela fait planter son second recv.

    Néanmoins, cela fonctionne si je debug mon CLIENT en pas à pas , ou bien si je met un Sleep entre les 2 recv du CLIENT, ce qui ralentit mon prog mais fait fonctionner le tout.

    En gros, en vitesse reel, faire se suivre les recv à grande vitesse semble faire bugger le tout...

    Quelqu'un voit-il d'où cela peut venir ?

    Merci

  2. #2
    En attente de confirmation mail
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Points : 54
    Points
    54
    Par défaut
    Un p'tit UP parceque le post du vendredi soir ne semble pas très efficace

Discussions similaires

  1. Problème Client/Serveur SOAP : "Invalid XML"
    Par P0l0pwp dans le forum Autres composants
    Réponses: 2
    Dernier message: 25/05/2009, 22h28
  2. Problème Client Serveur RMI
    Par Malhak dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 01/03/2009, 17h57
  3. Problème Client/Serveur Thread
    Par caporaldead dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/05/2008, 15h03
  4. Problème client-serveur TELNET.
    Par 0v3rb1t dans le forum Réseau
    Réponses: 5
    Dernier message: 20/05/2007, 16h59
  5. [C#] Problème client-serveur TCP
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 7
    Dernier message: 02/06/2006, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo