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

Threads & Processus C++ Discussion :

Améliorer un code client/Serveur avec boost.


Sujet :

Threads & Processus C++

  1. #1
    Invité
    Invité(e)
    Par défaut Améliorer un code client/Serveur avec boost.
    Bonjour,


    Je dispose d'une application Client/Serveur.

    Un genre de telnet, SSH , c'est à dure que j'envoie une commande au serveur, il execute et renvoie le résultat au client. Tout ça en boucle tant que je ne décide pas de quitter l'application.

    Sauf que cette application est faite entièrement de bibliothèque standard , c'est à dire des pthread , pthread_mutex , socket et toute leur fonction ( listen , bind , blabla ..)

    Maintenant, j'ai décidé d'améliorer ce code et j'ai entendu parler de la biblio boost avec boost/thread .

    Y aurait-il des avantages à l'utiliser dans mon code ?
    D'autres nouvelles bibliothèques que je pourrais utiliser ?

    Merci d'avance

  2. #2
    Membre expérimenté

    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2012
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 108
    Par défaut
    Citation Envoyé par tchoumo Voir le message
    Bonjour,


    Je dispose d'une application Client/Serveur.

    Un genre de telnet, SSH , c'est à dure que j'envoie une commande au serveur, il execute et renvoie le résultat au client. Tout ça en boucle tant que je ne décide pas de quitter l'application.

    Sauf que cette application est faite entièrement de bibliothèque standard , c'est à dire des pthread , pthread_mutex , socket et toute leur fonction ( listen , bind , blabla ..)

    Maintenant, j'ai décidé d'améliorer ce code et j'ai entendu parler de la biblio boost avec boost/thread .

    Y aurait-il des avantages à l'utiliser dans mon code ?
    D'autres nouvelles bibliothèques que je pourrais utiliser ?

    Merci d'avance
    Bonjour,

    Petit topo sur boost thread:

    Boost thread fait partie de la collection de bibliothèques de boost.
    Son but est de fournir aux developpeurs une possibilité de gérer des threads.
    C'est d'ailleurs l'implementation dans la nouvelle norme du C++11 (cf: std::thread)

    Ses avantages :
    Boost thread permet donc de gerer des threads comme il le faut : éxecution, rallenti avec "boost::this_thread::sleep_for()"...
    Concernant la synchronisation avec les mutexs, tu peux appliquer les fonction lock(), unlock(), et try_lock(). de plus, depuis l'implémentation, tu peux a présent utililser std::thread et std::mutex

    D'autres biobliotheque.
    tu as Poco::Thread, sf::thread.

  3. #3
    Membre Expert Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Par défaut
    Bonjour

    Citation Envoyé par tchoumo Voir le message
    Sauf que cette application est faite entièrement de bibliothèque standard , c'est à dire des pthread , pthread_mutex , socket et toute leur fonction ( listen , bind , blabla ..)
    pthread est POSIX, il ne fait pas parti de la bibliothèque standard C++ (idem pour les la gestion du réseau).

    Citation Envoyé par tchoumo Voir le message
    Maintenant, j'ai décidé d'améliorer ce code et j'ai entendu parler de la biblio boost avec boost/thread.

    Y aurait-il des avantages à l'utiliser dans mon code ?
    D'autres nouvelles bibliothèques que je pourrais utiliser ?
    Le code sera plus simple et en C++ (pthread est en C)
    Je te conseille d'activer C++11 pour utiliser std::thread.
    Tu peux regarder du coté de Boost.Asio pour le réseau (j'ai une préférence pour les Boost.Asio stream ).

    Citation Envoyé par Linunix Voir le message
    C'est d'ailleurs l'implementation dans la nouvelle norme du C++11 (cf: std::thread)
    nouvelle dernière :p

  4. #4
    Membre expérimenté

    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2012
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 108
    Par défaut
    Citation Envoyé par Ehonn
    Tu peux regarder du coté de Boost.Asio pour le réseau (j'ai une préférence pour les Boost.Asio stream ).
    Oui, il est claire que Boost.asio est une bibliothèque réseau formidable à mon gout et à tout point de vue... systèmes asynchrones/synchrones, envoie, réception, connexion, fermeture de socket, écoute de port, acceptation de client, avec l'acceptor, lecture, écriture ( cf: write, read).

    C'est tout simplement une bonne bibliothèque pour le réseau.
    Vivement son intégration dans la bibliotheque standard (peut etre C++17...) ^^

Discussions similaires

  1. Code Client/serveur avec thread sur Android
    Par Narcistou dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 21/04/2011, 11h25
  2. Réponses: 2
    Dernier message: 22/02/2006, 17h41
  3. Réponses: 1
    Dernier message: 01/02/2006, 17h48
  4. Client-serveur avec VB6 inside
    Par kremvax dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/11/2005, 13h08
  5. [SOCKET] connexion client serveur avec applet
    Par kaiser2003 dans le forum Applets
    Réponses: 2
    Dernier message: 06/10/2004, 22h32

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