2008-10-28 1 views
125

Документация, доступная на boost website ... ограничена.Лучшая документация для Boost: asio?

Из того, что я смог прочитать, общий консенсус в том, что просто найти хорошую документацию в библиотеке boost :: asio просто сложно.

Действительно ли это так? Если да, то почему?

Примечания:

  • Я уже нашел (не-импульс) Asio website - и документации выглядит идентично тому, что на сайте буст.
  • Я знаю, что Boost :: asio - это новое! Я ищу решения, а не оправдания.

Edit:

  • Существует proposal to add a networking library to standard library for TR2 написана автором повышающего: ASIO (Christopher Kohlhoff). Хотя это не документация для boost: asio, она использует ее в качестве основы для предложения TR2. Поскольку автор приложил больше усилий в этот документ, я нашел его полезным, если не ссылкой, то, по крайней мере, как обзор.

ответ

52

Во-первых, я уже давно использую Boost.Asio уже, и я разделяю вашу озабоченность. Задать вопрос:

  • На самом деле очень скудная документация о Boost.Asio в стороне от введения и учебника. Я не автор, но это в основном потому, что слишком много вещей, чтобы документировать что-то как низкоуровневое, как асинхронная библиотека ввода-вывода.
  • Примеры дают больше, чем учебники. Если вы не возражаете потратить немного времени на разные примеры, я думаю, они должны быть достаточными, чтобы вы начали. Если вы хотите сбежать с ним, то справочная документация должна вам очень помочь.
  • Спросите у пользователей Boost Users и Boost Developers, если вы действительно застряли или ищете конкретные рекомендации. Я уверен, что многие люди захотят решить ваши проблемы в списках рассылки.

Усилия (не входит в Boost.Asio), чтобы выявить множество функциональных возможностей и возможных альтернативных вариантов использования. Это в лучшем случае разбросано по сети в блогах и других формах непакетированной документации.

Непонятная вещь, которая действительно нуждается в тесной координации с автором и разработчиками библиотеки Boost.Asio, будет охватывать и настраивать ее для конкретной платформы или добавлять определенные новые функции. Это должно быть улучшено, хотя, но хорошо, похоже, что Asio станет эталонной реализацией стандартного библиотечного технического отчета (для асинхронной библиотеки IO в STL) в будущем.

+1

Спасибо за подтверждение подозрений. К сожалению, я старался учиться на примерах с приличным, но ограниченным успехом. К сожалению, я не могу оправдать использование библиотеки с небольшим набором примеров в виде набора инструкций. Я могу прислушаться к вашим советам, чтобы спросить о ML, но с нетерпением ожидаем лучшей поддержки! – mmocny 2008-10-28 20:07:47

+0

Я просто положил два-два вместе. Один из лучших хитов google (и наиболее информативных статей), который я нашел, в то время как googling boost asio был в вашем блоге :) – mmocny 2008-10-28 21:02:08

+0

Да, но я еще не хотел говорить об этом в открытом доступе. ;) Chis Kholhoff (автор) также имеет блог, в котором он много рассказывает об Asio и о том, как его можно использовать в не столь распространенных обстоятельствах. – 2008-10-29 01:05:57

39

Я написал две небольшие статьи, которые могут быть использованы в качестве интродукции для boost.asio. Они доступны от my site

7

Мне тоже было очень интересно, но эта страница дала мне начало. Это по-французски, но вы можете использовать google translate, который довольно читабельный (мне пришлось следовать этому пути самостоятельно).

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

60

Некоторой хорошая документация на импульсе, включая главу о ASIO можно найти в (бесплатно) повышающих книгах на http://en.highscore.de/cpp/boost/index.html. В главе об asio содержится общий обзор, а затем идет о том, как разрабатывать собственные пользовательские расширения asio. Действительно фантастическое усилие Бориса Шелинга!

30

относительно новый и очень хороший учебник для начинающих Boost.Asio (который также вводит, как эффективно использовать его связывают, shared_ptr и нитей) можно найти здесь :

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

Примечание: Если вы используете C++ 0x особенности многих из простых применений затруднительных для создания функтора может быть заменена лямбдой и shared_ptr/связывающиеся также доступны в последней версии визуальной студии (или gcc, которые также включают s threads.)

Когда я искал документацию или учебник, этот вопрос продолжал появляться в верхней части результатов поиска, поэтому важно обновлять его по мере появления новых обучающих программ.

18

Я пришел к 3 видео, которые я нашел полезным, как только вы пройти официальный обзор подталкивание ASIO:

И

4

В ASIO на документации, имеющиеся в наддуве, минималистский, но очень точный, каждое слово имеет значения. Тем не менее, я узнал asio (и продолжаю учиться) в основном из SO.

На мой взгляд, answer к «Confused, когда повышение :: ASIO :: io_service метод запуска блокирует/разблокирует» это первый шаг, читать читать снова, пока вы на самом деле не понимаю, second answer также полезно.

Тогда я RSS подписка на newest SO boost-asio tag question и к этим двум отвечающими:

Tanner Sansburry, автор ответа выше, его ответы всегда очень точные, исчерпывающие, со ссылками, даже beautiful schema s. RSS feed
Sehe (извините Sehe, только 2-й). RSS feed

Со всем этим материалом вы скоро станете экспертом по азио!

0

Немного поздно для вечеринки, но есть книга под названием «Boost Asio Network Programming» (публикация Packt).

Я купил копию этого, прочитал его в течение выходных, а затем написал полный на сервере в C++ без особых проблем.

Отказ от ответственности: Я не имею никакого отношения к книге