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 :

Réseau : problème d'écoute


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 57
    Par défaut Réseau : problème d'écoute
    Bonjour à tous !
    Voici mon problème : je crée un client web, qui envoie une requete http à un serveur et attend la réponse avec un recv();
    Mais il arrive fréquemment que la réponse arrive en plusieurs fragments, et que je doive faire plusieurs recv(); pour tout récupérer et avoir une requete correcte... Comment pallier ceci ?

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Quelle bibliothèque ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 57
    Par défaut
    ben j'utilise winsock2
    est-ce que quelqu'un a une solution ?
    Je me disais qu'on pouvait peut-être récupérer les octets un par un pour détecter l'octet correspondant a la fin de la requete...

  4. #4
    Membre éprouvé Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Par défaut
    Suffit de faire une boucle qui reçoit jusqu'a ce qu'on ne lui envoie plus rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int bytesRecv = SOCKET_ERROR;
    do{
        bytesRecv = recv(socket, buffer, sizeof (buffer)-1, 0);
        if( bytesRecv == SOCKET_ERROR){
             cerr<<"Erreur socker"<<endl;
             break;
        }else
             response.append(buffer);
    }while(bytesRecv != 0);

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 57
    Par défaut
    euh avec ca quand le dernier message aura ete recu, on retournera dans la boucle et l'application se blokera en attente d'un message non ?

  6. #6
    Membre éprouvé Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Par défaut
    Non quand le dernier message est reçu le serveur coupe la communication et donc recv reçoit rien (0).
    Lis un peu de doc:
    http://psyphi.zeblog.com/131309-tuto...r-les-sockets/

    et notamment cette source qui est ce que tu veux faire:
    http://sylvainmarechal.chez-alice.fr...tcp/http/get.c

Discussions similaires

  1. réseau: problème modem ADSL, DHCP et SP2 (sig!)
    Par p0Kep0K dans le forum Dépannage et Assistance
    Réponses: 4
    Dernier message: 26/10/2005, 20h11
  2. Réponses: 5
    Dernier message: 24/09/2005, 20h31
  3. [Réseau] Problème entre X-DOS et Windows 98
    Par FLCEOAP dans le forum Développement
    Réponses: 1
    Dernier message: 15/05/2005, 23h41
  4. [résolution de noms] [réseau] problème fichier hosts
    Par Aldo dans le forum Administration
    Réponses: 2
    Dernier message: 11/04/2005, 21h38
  5. [Réseau] Problème socket
    Par neenee dans le forum Entrée/Sortie
    Réponses: 14
    Dernier message: 18/01/2005, 15h26

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