Question

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

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

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

Notes:

  • J'ai déjà trouvé le site Web Asio (non boosté) et la documentation semble identique. à cela sur le site de boost.
  • Je sais que Boost :: asio est nouveau! Je cherche des solutions, pas des excuses.

Modifier:

  • Il existe une proposition d'ajout d'un réseau bibliothèque en bibliothèque standard pour TR2 écrite par l'auteur de Boost: asio (Christopher Kohlhoff). Bien que ce ne soit pas de la documentation pour boost: asio, il l’utilise comme base pour la proposition TR2. Depuis que l’auteur a consacré plus d’efforts à la rédaction de ce document, j’ai trouvé ce document un peu utile, sinon comme référence, du moins comme aperçu.
Était-ce utile?

La solution

Tout d'abord, j'utilise Boost.Asio depuis un bon moment déjà - et je partage votre préoccupation. Pour répondre à votre question:

  • Il n’ya vraiment que 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 trop de choses à documenter pour quelque chose d'aussi bas niveau qu'une bibliothèque d'E / S asynchrone.
  • Les exemples en donnent plus que les tutoriels. 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 en débarrasser, la documentation de référence devrait vous aider beaucoup.
  • Renseignez-vous sur la liste de diffusion Boost Users et Boost Developers si vous êtes vraiment bloqué ou si vous recherchez des conseils spécifiques. Je suis sûr que beaucoup de gens seront disposés à répondre à vos préoccupations sur les listes de diffusion.

Des efforts (qui ne font pas partie de Boost.Asio) ont été déployés pour exposer de nombreuses fonctionnalités et d’autres cas d’utilisation possibles. Cette information est au mieux dispersée sur le Web dans des blogs et d’autres formes de documentation non empaquetée.

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

Autres conseils

Vous pouvez trouver une bonne documentation sur boost comprenant un chapitre sur asio 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 explique également comment développer vos propres extensions asio personnalisées. Un effort vraiment fantastique de Boris Schäling!

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

.

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

Vous trouverez un tutoriel pour débutant relativement nouveau et très bon pour Boost.Asio (qui explique également comment l'utiliser efficacement avec bind, shared_ptr et threads):

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

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

Lorsque je cherchais de la documentation ou un didacticiel, cette question apparaissait en tête des résultats de recherche. Il était donc important de la maintenir à jour au fur et à mesure de l'apparition de nouveaux didacticiels.

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 (je devais suivre cette voie moi-même).

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

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

À mon avis, les réponses à ' sont confondues avec les blocs de méthode d'exécution boost :: asio :: io_service / Unblocks 'est la toute première étape, relisez une lecture jusqu'à ce que vous la compreniez vraiment, deuxième réponse : aussi utile.

Ensuite, j'ai un abonnement RSS à la dernière question sur les balises SO boost-asio et à ces dernières. deux répondeurs:

Tanner Sansburry , 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 en asio!

Un peu tard dans la soirée, mais un livre intitulé "Renforcer la programmation réseau Asio" a été publié. (Édition Packt).

J'ai acheté une copie de cela, je l'ai lue pendant le week-end, puis j'ai écrit une version complète du serveur en C ++ sans trop de problèmes.

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

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top