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

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

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

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

Заметки:

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

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

  • Есть предложение добавить сетевую библиотеку в стандартную библиотеку для TR2, написанный автором Boost: asio (Christopher Kohlhoff). Хотя это не документация для boost: asio, она действительно используется в качестве основы для предложения TR2. Поскольку автор приложил больше усилий к этому документу, я счел его несколько полезным, если не в качестве справочника, то, по крайней мере, в качестве обзора.
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
143
0
58 275
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

Ответ принят как подходящий

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

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

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

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

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

mmocny 28.10.2008 23:07

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

mmocny 29.10.2008 00:02

Да, но я пока не хотел говорить об этом открыто. ;) У Чиса Холхоффа (автора) также есть блог, в котором он много рассказывает об Asio и о том, как его можно использовать в не столь обычных обстоятельствах.

Dean Michael 29.10.2008 04:05

@mmocny Я согласен, однако качество реализации ASIO лучше, чем у большинства других бесплатных библиотек событий, особенно под Windows.

unixman83 20.02.2012 11:45

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

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

deft_code 19.10.2009 19:33

Покойся с сайтом этого парня. Вот почему вы публикуете здесь ответы вместо того, чтобы ссылаться на мертвые веб-сайты до скончания веков.

maxywb 15.04.2019 18:21

Мне это тоже было очень любопытно, но эта страница дала мне некоторое преимущество. Он на французском, но вы можете использовать переводчик 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. Кто за это проголосовал !?

Oleh Prypin 20.03.2011 01:19

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

Ralf 08.10.2011 22:24

Спасибо, что разместили эту ссылку. К сожалению, я почувствовал, что как только все стало налаживаться, автор бросает мяч, бросает вас прямо в созданную им библиотеку и полностью потерял меня. Он / она перешли от подробного объяснения того, как работает bind, к тому, чтобы дать читателю возможность угадать, что такое Hive в их библиотеке.

Rotsiser Mho 18.12.2012 09:10

У них есть интерфейс hive defenition + прямо в учебнике. Я думаю, что это полезно и имеет смысл, потому что они рассказывают об этом на странице 10 из 11.

M2tM 19.12.2012 23:41

В этой статье упоминается zip-файл с примерами, но я их не вижу. Кроме того, #includes вырезаны из кода примера?

Jake Gaston 05.03.2019 19:29

Ах, к сожалению, похоже, что статья размылась в песках времени с обновлением кода рендеринга gamedev.net, который, похоже, вообще не обрабатывает угловые скобки, и я не могу поручиться за достоверность этого ответа на данный момент . Хотя это все еще может быть хорошим справочником, его форматирование явно не было перенесено должным образом. @JakeGaston

M2tM 07.03.2019 00:00

Документация 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

sehe 13.07.2019 17:49

Другие вопросы по теме