Meilleure documentation pour Boost: asio?
La documentation disponible sur le boost site est... limité.
de ce que j'ai pu lire, le consensus général est qu'il est tout simplement difficile de trouver une bonne documentation sur le boost::bibliothèque asio.
Est-ce vraiment le cas? Si oui, pourquoi?
Notes:
- j'ai déjà trouvé le (non-boost) site Asio - et la documentation semble identique à celle du site boost.
- je sais que Boost:: asio est nouveau! Je cherche des solutions, pas des excuses.
Edit:
- il y a une proposition d'ajouter une bibliothèque de réseau à la bibliothèque standard pour TR2 écrit par l'auteur de Boost:asio (Christopher Kohlhoff). Bien qu'elle ne soit pas de la documentation pour boost:asio, elle l'utilise comme base pour la proposition TR2. Car l'auteur y mettre plus d'effort dans ce document, j'ai trouvé cela un peu utile, si ce n'est qu'une référence, puis au moins une vue d'ensemble.
9 réponses
D'abord, J'ai utilisé Boost.Asio depuis pas mal de 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 mis à part l'introduction et le tutoriel. Je ne suis pas l'auteur, mais c'est surtout parce qu'il y a trop de choses à documenter pour quelque chose d'aussi bas niveau qu'une bibliothèque IO asynchrone.
- les exemples donnent plus loin 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 pour vous aider à commencer. Si vous souhaitez exécuter, puis à la documentation de référence devrait vous aider beaucoup.
- demandez autour dans les utilisateurs de Boost et Boost développeurs liste de diffusion si vous êtes vraiment coincé ou à la recherche de 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 (qui ne font pas partie de Boost).Asio) pour exposer une grande partie de la fonctionnalité et des cas d'utilisation alternative possibles. Cela, au mieux, est éparpillé sur le web dans des blogs et d'autres formes de documentation non emballée.
une chose qui n'est pas claire et qui aura vraiment besoin d'une coordination étroite avec l'auteur et les développeurs du Boost.Asio bibliothèque devrait être autant que d'étendre et de personnaliser une plate-forme spécifique ou l'ajout de nouvelles fonctionnalités. Cela devrait être bien que améliorée, mais la bonne chose est Qu'il semble que Asio sera une implémentation de référence pour un rapport technique de bibliothèque standard (pour une bibliothèque IO asynchrone dans le STL) dans le futur.
une belle documentation sur boost, y compris un chapitre sur asio peut être trouvé dans un boost book (gratuit) à http://en.highscore.de/cpp/boost/index.html . Le chapitre sur asio fournit un aperçu général et va ensuite jusqu'à comment développer vos propres extensions asio personnalisées. Un effort vraiment fantastique de Boris Schäling!
un relativement nouveau et très bon tutoriel débutant 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
Note: Si vous utilisez c++0x, beaucoup des utilisations simples de bind pour créer un functor peuvent être remplacées par lambdas, et shared_ptr / bind sont également disponibles dans la dernière version de visual studio (ou gcc qui comprend également des threads.)
lorsque je cherchais de la documentation ou un tutoriel, cette question apparaissait en haut des résultats de recherche, il est donc important de la mettre à jour au fur et à mesure que de nouveaux tutoriels apparaissent.
je suis venu à 3 vidéos que j'ai trouvé utile une fois que vous obtenez passé le boost asio aperçu officiel:
- penser de manière asynchrone-concevoir des applications avec asio
- Êtes-vous prêt pour ipv6
- Pourquoi c-0x est le awesomest de la langue pour la programmation réseau
et
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 /
la documentation asio, celle disponible dans boost, est minimaliste mais très précise, chaque mot est significatif. Cela dit, j'ai appris asio (et continue d'apprendre) principalement de SO.
à mon avis, La réponse à confus lorsque boost:: asio:: io_service run méthode blocs / unblocks "est la première étape, lire une nouvelle fois jusqu'à ce que vous comprenez vraiment, deuxième réponse est également utile.
alors j'ai RSS souscrit à le plus récent so boost-asio tag question et à ces deux answerers:
Tanner Sansburry , l'auteur de la réponse ci-dessus, ses réponses sont toujours très précis, complet, 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 !
je suis tombé sur le pdf suivant: http://boost.cowic.de/rc/pdf/asio_doc.pdf
un peu tard pour la fête, mais il y a un livre intitulé "Boost Asio Network Programming" (Packt publishing).
j'ai acheté une copie de ceci, je l'ai lu pendant le week-end et j'ai écrit un full on server en C++ sans trop de problèmes.
clause de non-responsabilité: je n'ai rien à voir avec le livre