web-dev-qa-db-fra.com

Meilleure documentation pour Boost: asio?

La documentation disponible sur le site boost est ... limitée.

D'après ce que j'ai pu lire, le consensus général est qu'il est tout simplement difficile de trouver une bonne documentation sur la bibliothèque boost :: asio.

Est-ce vraiment le cas? Si oui, pourquoi?

Remarques:

  • J'ai déjà trouvé le (non-boost) site web Asio - et la documentation semble être identique à celle du site boost.
  • Je sais que Boost :: asio est nouveau! Je recherche des solutions et non des excuses.

Modifier:

137
mmocny

Tout d'abord, j'utilise Boost.Asio depuis un certain temps déjà - et je partage votre inquiétude. Pour répondre à votre question:

  • Il y a vraiment très peu de documentation sur Boost.Asio en dehors de l'introduction et du tutoriel. Je ne suis pas l'auteur, mais c'est principalement parce qu'il y a juste trop de choses à documenter pour quelque chose d'aussi bas niveau qu'une bibliothèque asynchrone IO.
  • Les exemples donnent plus que les didacticiels. Si cela ne vous dérange pas de passer un peu de temps à regarder les différents exemples, je pense qu'ils devraient suffire à vous aider à démarrer. Si vous voulez vous enfuir, la documentation de référence devrait vous aider beaucoup.
  • Demandez dans la liste de diffusion Boost Users et Boost Developers si vous êtes vraiment bloqué ou si vous cherchez des conseils spécifiques. Je suis sûr que beaucoup de gens seront prêts à répondre à vos préoccupations sur les listes de diffusion.

Il y a des efforts (ne faisant pas partie de Boost.Asio) pour exposer beaucoup de fonctionnalités et les cas d'utilisation alternatifs possibles. Au mieux, cela est dispersé sur le Web dans les blogs et autres formes de documentation non packagée.

Une chose qui n'est pas claire et qui nécessitera vraiment une étroite coordination avec l'auteur et les développeurs de la bibliothèque Boost.Asio serait de l'étendre et de la personnaliser pour une plate-forme spécifique ou d'ajouter de nouvelles fonctionnalités spécifiques. Cela devrait être amélioré mais la bonne chose est que Asio sera une implémentation de référence pour un rapport technique de bibliothèque standard (pour une bibliothèque asynchrone IO dans la STL) à l'avenir.

55
Dean Michael

Une belle documentation sur le boost, y compris un chapitre sur asio, peut être trouvée dans un livre de boost (gratuit) à http://en.highscore.de/cpp/boost/index.html . Le chapitre sur asio fournit un aperçu général et va ensuite jusqu'à la façon de développer vos propres extensions asio personnalisées. Un effort vraiment fantastique de Boris Schäling!

63
Ralf

J'ai écrit deux petits articles qui pourraient être utilisés comme introductions à boost.asio. Ils sont disponibles sur mon site

41
Alex Ott

REMARQUE: J'ai contacté gamedev.net pour les informer des problèmes de formatage. Malheureusement au moment de la rédaction de ce commentaire, cette ressource est plus difficile à recommander en raison de certaines modifications de son site Web qui masquent/suppriment les instructions #include + une ressource de fichier .Zip manquante.

Un tutoriel pour débutant relativement nouveau et très bon pour Boost.Asio (qui présente également comment l'utiliser efficacement avec bind, shared_ptr et threads) peut être trouvé ici:

http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting-started-with-boostasio?pg=1

Remarque: Si vous utilisez des fonctionnalités c ++ 0x, de nombreuses utilisations simples de bind pour créer un foncteur peuvent être remplacées par lambdas, et shared_ptr/bind sont également disponibles dans la dernière version de visual studio (ou gcc qui inclut également des threads) .)

Lorsque je cherchais de la documentation ou un didacticiel, cette question ne cessait d'apparaître en haut des résultats de la recherche, il est donc important de la mettre à jour à mesure que de nouveaux didacticiels apparaissent.

31
M2tM
20
Ghita

J'étais assez curieux à ce sujet aussi, mais cette page m'a donné une longueur d'avance. C'est en français, mais vous pouvez utiliser google translate qui est assez lisible (j'ai dû suivre ce chemin moi-même).

http://gwenael-dunand.developpez.com/tutoriels/cpp/boost/asio/

8
A. Novikov

La documentation asio, celle disponible en boost, est minimaliste mais très précise, chaque mot est significatif. Cela dit, j'ai appris asio (et continue à apprendre) principalement de SO.

À mon avis, le answer to ' Confused when boost :: asio :: io_service run method blocks/unblocks ' is the toute première étape, relisez une lecture jusqu'à ce que vous compreniez vraiment, deuxième réponse est également utile.

Ensuite, j'ai abonné RSS à la plus récente SO question de balise boost-asio et à ces deux répondeurs:

Tanner Sansburry , l'auteur de la réponse ci-dessus, ses réponses sont toujours très précises, complètes, avec des références, même beau schéma s. flux RSS
Sehe (désolé Sehe, seulement 2e). flux RSS

Avec tout ce matériel, vous serez bientôt un expert asio!

8
Jean Davy

Un peu tard pour la fête mais il y a un livre sorti intitulé "Boost Asio Network Programming" (Packt Publishing).

J'ai acheté une copie de cela, je l'ai lu au cours du week-end, puis j'ai écrit un plein sur le serveur en C++ sans trop de problème.

Avertissement: je n'ai rien à voir avec le livre

1
Dave F

Je suis tombé sur le pdf suivant: http://boost.cowic.de/rc/pdf/asio_doc.pdf

0
Kisalay