Лучшая документация для 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 и этим двум ответчикам:
Tanner Sansburry, автор ответа выше, его ответы всегда очень точны, полны, со ссылками, даже красивая схема. RSS-канал
Sehe (извините Sehe, только 2-е место). RSS-канал
Со всем этим материалом вы скоро станете экспертом по азиаде!
Ответ 8
Я наткнулся на следующий pdf:
http://boost.cowic.de/rc/pdf/asio_doc.pdf
Ответ 9
Немного поздно для вечеринки, но есть книга под названием "Boost Asio Network Programming" (публикация Packt).
Я купил копию этого, прочитал его в течение выходных, а затем написал полный на сервере в С++ без особых проблем.
Отказ от ответственности: я не имею никакого отношения к книге