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 :

Boost asio et async_accept, erreur m_val = 1


Sujet :

Boost C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 3
    Par défaut Boost asio et async_accept, erreur m_val = 1
    Hello,

    Je suis actuellement en train de developper un serveur tcp avec boost asio et vs2010 sur win7.
    ma classe Server:

    fichier Header:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class Server
    {
     private:
            boost::asio::io_service &_io;
            boost::asio::ip::tcp::acceptor *acceptor;
            bool                connected;
            boost::asio::ip::tcp::socket *_client;
    };
    fichier Source:

    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
    Server::Server(boost::asio::io_service& io) : _io(io)
    {
      connected = false;
    }
     
    void                Server::receiving()
    {
            boost::system::error_code error;
            acceptor = new tcp::acceptor(_io, tcp::endpoint(tcp::v4(), 14242));
            _client = new tcp::socket(_io);
            connected = false;
            try {
                    acceptor->async_accept(*_client, boost::bind(&Server::handle_accept, this, boost::asio::placeholders::error));
            } catch(...) {
            }
    }
     
    void                Server::handle_accept(const boost::system::error_code& error)
    {
    // problem appears here
    }
    J'appel io.run() dans le main.
    De plus, j'utilise boost asio en tant que client tcp dans une autre classe, avec le meme io_service, et ca fonctionne.
    Lorsqu'un client se connecte a ce serveur, handle_accept est appele. Erreur dispose des valeurs suivantes:

    m_val = 1;
    m_cat = 0x00ab8d00 instance;
    | [boost::asio::error::detail::misc_category] = {...}
    | boost::noncopyable_::noncopyable = {...}
    | __vfptr = 0x00a8bf18 const boost::asio::error::detail::misc_category::`vftable'
    | [0] = 0x0098aaaa boost::asio::error::detail::misc_category::`scalar deleting destructor'(unsigned int)
    | [1] = 0x0098b4e1 boost::asio::error::detail::misc_category::name(void)
    | [2] = 0x0098b603 boost::asio::error::detail::misc_category::message(int)
    | [3] = 0x0098e39e boost::system::error_category::default_error_condition(int)
    | [4] = 0x0098bef0 boost::system::error_category::equivalent(class boost::system::error_code const &,int)
    | [5] = 0x0098cb61 boost::system::error_category::equivalent(int,class boost::system::error_condition const &)

    Quelqu'un peut il m'expliquer ce que cela signifie?
    Pouvez-vous m'aider a resoudre ce soucis?
    Merci !


    Cyprien DIOT
    France

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Et que te donne par ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::cout << error.message() << std::endl;
    ?

    MAT.

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/11/2008, 23h40
  2. Boost::Asio et code::blocks
    Par TocTocKiéLà? dans le forum Boost
    Réponses: 10
    Dernier message: 10/08/2007, 23h20
  3. Boost::asio et openssl
    Par Floréal dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 18/07/2007, 16h17
  4. ASIO: tutorials, exemples, erreurs
    Par alceste dans le forum C++
    Réponses: 5
    Dernier message: 15/11/2006, 18h25
  5. Boost::asio : multi threading ou pas?
    Par Alp dans le forum Boost
    Réponses: 9
    Dernier message: 02/09/2006, 22h01

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