Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: mmocnyОтветов: 9

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

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

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

Примечания:

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

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

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

c++boostboost-asio

Ответы

Ответ 1 · рейтинг 56 · Dean Michael

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

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

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

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

Ответ 2 · рейтинг 65 · Ralf

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

Ответ 3 · рейтинг 42 · Alex Ott

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

Ответ 4 · рейтинг 30 · M2tM

ПРИМЕЧАНИЕ. Я связался с 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, который также включает потоки .)

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

Ответ 6 · рейтинг 8 · Jean Davy

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

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

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

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

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

Ответ 7 · рейтинг 7 · A. Novikov

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

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

Ответ 8 · Dave F

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

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

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

Ответ 9 · рейтинг -1 · Kisalay

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы