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

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

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

Так ли это на самом деле? Если да, то почему?

Примечания:

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

Редактировать:

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

person mmocny    schedule 28.10.2008    source источник


Ответы (9)


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

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

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

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

person Dean Michael    schedule 28.10.2008
comment
Спасибо за подтверждение подозрений. К сожалению, я попытался учиться на примерах, но с приличным, но ограниченным успехом. К сожалению, я не могу оправдать использование библиотеки, в которой есть небольшой набор примеров в качестве набора инструкций. Я могу прислушаться к вашему совету, чтобы спросить о ML, но с нетерпением жду лучшей поддержки! - person mmocny; 28.10.2008
comment
Я просто сложил два и два. Один из самых популярных гугл-хитов (и самых информативных статей), который я нашел, когда гуглил boost asio, был в вашем блоге :) - person mmocny; 29.10.2008
comment
Да, но я пока не хотел говорить об этом открыто. ;) У Чиса Холхоффа (автора) также есть блог, в котором он много рассказывает об Asio и о том, как его можно использовать в не столь обычных обстоятельствах. - person Dean Michael; 29.10.2008
comment
@mmocny Я согласен, но качество реализации ASIO лучше, чем у большинства других бесплатных библиотек событий, особенно под Windows. - person unixman83; 20.02.2012

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

person Ralf    schedule 12.07.2010

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

person Alex Ott    schedule 05.02.2009
comment
Я нашел веб-сайт Алекса Отта независимо, когда исследовал, использовать ли asio или ace для нашего текущего проекта. Его сайт ответил на многие мои вопросы. - person deft_code; 19.10.2009
comment
Покойся с сайтом этого парня. Вот почему вы публикуете здесь ответы вместо того, чтобы ссылаться на мертвые веб-сайты до скончания веков. - person maxywb; 15.04.2019

ПРИМЕЧАНИЕ. Я связался с 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, многие из простых способов использования bind для создания функтора можно заменить лямбда-выражениями, а shared_ptr / bind также доступны в последней версии Visual Studio (или gcc, который также включает потоки .)

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

person M2tM    schedule 03.05.2011
comment
Отличная ссылка! Определенно хорошее руководство по началу работы с asio - person Ralf; 08.10.2011
comment
Спасибо, что разместили эту ссылку. К сожалению, я почувствовал, что как только все стало налаживаться, автор бросает мяч, бросает вас прямо в созданную им библиотеку и полностью потерял меня. Он / она перешли от подробного объяснения того, как bind работает, к предоставлению читателю возможности угадать, что Hive находится в их библиотеке. - person Rotsiser Mho; 18.12.2012
comment
У них есть интерфейс hive defenition + прямо в учебнике. Я думаю, что это полезно и имеет смысл, потому что они рассказывают об этом на странице 10 из 11. - person M2tM; 19.12.2012
comment
В этой статье упоминается zip-файл с примерами, но я их не вижу. Кроме того, #includes вырезаны из кода примера? - person Jake Gaston; 05.03.2019
comment
Ах, к сожалению, похоже, что статья размылась в песках времени с обновлением кода рендеринга gamedev.net, который, похоже, вообще не обрабатывает угловые скобки, и я не могу поручиться за достоверность этого ответа на данный момент . Хотя это все еще может быть хорошим справочником, его форматирование явно не было перенесено должным образом. @JakeGaston - person M2tM; 07.03.2019


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

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

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

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

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

person Jean Davy    schedule 05.11.2014

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

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

person A. Novikov    schedule 06.11.2009

Немного поздно на вечеринку, но вышла книга под названием «Boost Asio Network Programming» (издание Packt).

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

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

person Dave F    schedule 05.02.2016
comment
Ой. Я взял, кажется, 3 книги об Asio от Packt, и не нашел их заслуживающими доверия. Насколько я могу распознать, когда люди читали неправильные книги, по запахам кода, которые они скопировали в свои вопросы SO, см., Например, stackoverflow.com/a/48084444/85371 или stackoverflow.com/a/47698904/85371 - person sehe; 13.07.2019

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

person Kisalay    schedule 14.07.2010
comment
Но подождите ... это то же самое, только в pdf. Кто за это проголосовал !? - person Oleh Prypin; 20.03.2011