Лучшая документация для Boost: asio? - PullRequest
136 голосов
/ 28 октября 2008

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

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

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

Примечания:

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

Edit:

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

Ответы [ 9 ]

63 голосов
/ 12 июля 2010

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

55 голосов
/ 28 октября 2008

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

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

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

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

41 голосов
/ 05 февраля 2009

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

31 голосов
/ 04 мая 2011

ПРИМЕЧАНИЕ. Я связался с 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

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

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

8 голосов
/ 06 ноября 2009

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

http://gwenael -dunand.developpez.com / tutoriels / CPP / импульс / ASIO /

7 голосов
/ 05 ноября 2014

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

По моему мнению, ответ на ' сбит с толку, когда метод запуска boost :: asio :: io_service блокирует / разблокирует ' - это самый первый шаг, читайте чтение еще раз, пока вы действительно понимаю, второй ответ также полезно.

Тогда у меня есть RSS-подписка на новейший вопрос SO-boost-asio tag и на этих двух ответчиков:

image Таннер Сансберри , автор ответа выше, его ответы всегда очень точны, полны, со ссылками, даже красивая схема с. RSS лента
image Sehe (извините Sehe, только 2-й). RSS лента

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

1 голос
/ 06 февраля 2016

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

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

Отказ от ответственности: я не имею ничего общего с книгой

0 голосов
/ 14 июля 2010

Я наткнулся на следующий PDF: http://boost.cowic.de/rc/pdf/asio_doc.pdf

...