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





Во-первых, я уже довольно давно использую Boost.Asio - и разделяю вашу озабоченность. Чтобы ответить на ваш вопрос:
Прилагаются усилия (не являющиеся частью Boost.Asio), чтобы раскрыть большую часть функциональности и возможные альтернативные варианты использования. В лучшем случае это разбросано по сети в блогах и других формах неупакованной документации.
Одна вещь, которая неясна и которая действительно потребует тесной координации с автором и разработчиками библиотеки Boost.Asio, - это расширение и настройка ее для конкретной платформы или добавление определенных новых функций. Это должно быть улучшено, но хорошо то, что похоже, что Asio будет эталонной реализацией для технического отчета стандартной библиотеки (для библиотеки асинхронного ввода-вывода в STL) в будущем.
Я просто сложил два и два. Один из самых популярных гугл-хитов (и самых информативных статей), который я нашел, когда гуглил boost asio, был в вашем блоге :)
Да, но я пока не хотел говорить об этом открыто. ;) У Чиса Холхоффа (автора) также есть блог, в котором он много рассказывает об Asio и о том, как его можно использовать в не столь обычных обстоятельствах.
@mmocny Я согласен, однако качество реализации ASIO лучше, чем у большинства других бесплатных библиотек событий, особенно под Windows.
Я написал две небольшие статьи, которые можно использовать как введение в boost.asio. Они доступны на мой сайт
Я нашел веб-сайт Алекса Отта независимо, когда исследовал, использовать ли asio или ace для нашего текущего проекта. Его сайт ответил на многие мои вопросы.
Покойся с сайтом этого парня. Вот почему вы публикуете здесь ответы вместо того, чтобы ссылаться на мертвые веб-сайты до скончания веков.
Мне это тоже было очень любопытно, но эта страница дала мне некоторое преимущество. Он на французском, но вы можете использовать переводчик Google, который довольно читается (мне пришлось самому идти по этому пути).
http://gwenael-dunand.developpez.com/tutoriels/cpp/boost/asio/
Хорошую документацию по ускорению, включая главу по asio, можно найти в (бесплатной) книге по ускорению на http://en.highscore.de/cpp/boost/index.html. В главе об asio дается общий обзор, а затем идет речь о том, как разработать свои собственные расширения asio. Действительно фантастическая работа Бориса Шелинга!
Я наткнулся на следующий pdf: http://boost.cowic.de/rc/pdf/asio_doc.pdf
Но подождите ... это то же самое, только в pdf. Кто за это проголосовал !?
ПРИМЕЧАНИЕ. Я связался с 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, которая также включает потоки .)
Когда я искал документацию или учебное пособие, этот вопрос все время появлялся в верхней части результатов поиска, поэтому важно постоянно обновлять его по мере появления новых руководств.
Отличная ссылка! Определенно хорошее руководство по началу работы с asio
Спасибо, что разместили эту ссылку. К сожалению, я почувствовал, что как только все стало налаживаться, автор бросает мяч, бросает вас прямо в созданную им библиотеку и полностью потерял меня. Он / она перешли от подробного объяснения того, как работает bind, к тому, чтобы дать читателю возможность угадать, что такое Hive в их библиотеке.
У них есть интерфейс hive defenition + прямо в учебнике. Я думаю, что это полезно и имеет смысл, потому что они рассказывают об этом на странице 10 из 11.
В этой статье упоминается zip-файл с примерами, но я их не вижу. Кроме того, #includes вырезаны из кода примера?
Ах, к сожалению, похоже, что статья размылась в песках времени с обновлением кода рендеринга gamedev.net, который, похоже, вообще не обрабатывает угловые скобки, и я не могу поручиться за достоверность этого ответа на данный момент . Хотя это все еще может быть хорошим справочником, его форматирование явно не было перенесено должным образом. @JakeGaston
Я пришел к 3 видео, которые я нашел полезными, как только вы пройдете официальный обзор boost asio:
И
Документация asio, доступная в boost, минималистична, но очень точна, каждое слово имеет значение. Тем не менее, я выучил asio (и продолжаю учиться) в основном на SO.
На мой взгляд, от отвечать к 'Запутался, когда метод запуска boost :: asio :: io_service блокирует / разблокирует' - это самый первый шаг, прочтите чтение еще раз, пока вы действительно не поймете это, второй ответ также полезен.
Затем я подписался по RSS на новейший вопрос тега SO boost-asio и на этих двух ответчиков:
Таннер Сэнсберри, автор вышеприведенного ответа, его ответы всегда очень точные, исчерпывающие, со ссылками, даже красивая схема. Новостная лента
Sehe (извините Sehe, только 2-й). Новостная лента
Со всем этим материалом вы скоро станете экспертом по asio!
Немного поздно на вечеринку, но вышла книга под названием «Boost Asio Network Programming» (издание Packt).
Я купил копию, прочитал ее на выходных, а затем написал полную версию на C++ на сервере без особых проблем.
Отказ от ответственности: я не имею ничего общего с книгой
Ой. Я взял 3 книги об Asio от Packt и не нашел их заслуживающими доверия. Насколько я могу распознать, когда люди читали неправильные книги, по запахам кода, которые они скопировали в свои вопросы SO, см., Например, stackoverflow.com/a/48084444/85371 или stackoverflow.com/a/47698904/85371
Спасибо за подтверждение подозрений. К сожалению, я пытался учиться на примерах, но с приличным, но ограниченным успехом. К сожалению, я не могу оправдать использование библиотеки, в которой есть небольшой набор примеров в качестве набора инструкций. Я могу прислушаться к вашему совету, чтобы спросить о ML, но с нетерпением жду лучшей поддержки!