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

Boost C++ Discussion :

[asio] Pourquoi in_avail renvoie toujours 0 ?


Sujet :

Boost C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    348
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 348
    Par défaut [asio] Pourquoi in_avail renvoie toujours 0 ?
    Bonjour à tous,

    Je tente simplement, avant de faire un appel à read sur ma socket, de vérifier s'il y a des données prêtes.

    Si j'ai bien compris, c'est exactement ce que devrait faire la fonction in_avail() (elle devrait retourner le nombre de byte disponible à la lecture).
    Seulement voilà, elle renvoie toujours 0 et ce même s'il y a des données disponibles.
    Quelqu'un peut il expliquer pourquoi?

    pour indication, j'utilise l'appel avec en argument un objet error et... il n'y en a pas.

    size_t in_avail = socket.in_avail(error);

    Merci

  2. #2
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Quelle version ?
    Quel est le type de 'socket' ?

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    348
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 348
    Par défaut
    salut,

    j'utilise la version 1.35 de boost et socket est de type boost::asio::ssl::stream<boost::asio::ip::tcp::socket>

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    348
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 348
    Par défaut
    J'ai résolu le soucis en utilisant:

    socket.next_layer().available(error)

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    348
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 348
    Par défaut
    En fait j'ai cru résoudre le problème...

    Mais en fait non, le comportement de cette fonction est quasi identique à l'autre. La seule différence c'est qu'elle fonctionne au premier appel.
    Par la suite elle renvoie systématiquement 0.

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Quel système d'exploitation ?

Discussions similaires

  1. Pourquoi ma division renvoi toujours 0?
    Par miniil dans le forum Langage
    Réponses: 4
    Dernier message: 31/01/2010, 22h53
  2. socket send renvoi toujours (-1)
    Par tkwebch dans le forum Réseau
    Réponses: 8
    Dernier message: 30/08/2006, 17h24
  3. isdigit() renvoie toujours 0
    Par gangsoleil dans le forum C
    Réponses: 30
    Dernier message: 07/08/2006, 13h42
  4. [MySQL] Mon SELECT COUNT me renvoie toujours 1
    Par diaboloche dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 11/07/2006, 11h53
  5. Réponses: 2
    Dernier message: 16/04/2005, 20h24

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