Лучшая документация для Boost: asio?

Документация, доступная на веб-сайте , ограничена.

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

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

Примечания:

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

Edit:

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

Ответ 1

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

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

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

ПРИМЕЧАНИЕ. Я связался с gamedev.net, чтобы сообщить им о проблемах форматирования. К сожалению, на момент написания этого комментария этот ресурс было сложнее рекомендовать из-за некоторых изменений на их веб-сайте, которые скрывают/удаляют операторы #include + отсутствующий ресурс файла .zip.

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

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

Примечание. Если вы используете функции С++ 0x, многие из простых способов использования связывания для создания функтора можно заменить лямбдами, а shared_ptr/bind также доступны в последней версии Visual Studio (или gcc, который также включает потоки)..)

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

Ответ 5

Я подошел к трем видеороликам, которые я нашел полезными после того, как вы закончите официальное обновление asio:

И

Ответ 6

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

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

Ответ 7

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

На мой взгляд, ответ на "Confused when boost:: asio:: io_service run method blocks/unblocks" - это самый первый шаг, прочитайте прочитанное снова пока вы это не поймете, второй ответ также полезен.

Затем у меня есть RSS, подписанный на самый новый вопрос с тегом SO boost-asio и этим двум ответчикам:

CsApR.jpgTanner Sansburry, автор ответа выше, его ответы всегда очень точны, полны, со ссылками, даже красивая схема. RSS-канал
Ne80A.jpgSehe (извините Sehe, только 2-е место). RSS-канал

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

Ответ 9

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

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

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