| Ветвь | Linux / Windows | Покрытие | Документация | Матрица |
|---|---|---|---|---|
| владелец | ||||
| развивать |
Beast-это библиотека только для заголовка C ++, служащая основой для написания совместимых сетевых библиотек, предоставляя типы словарных протоколов низкого уровня HTTP/1, WebSocketcocket и сетевых протоколов, используя последовательную асинхронную модель Boost.asio.
Эта библиотека предназначена для:
Симметрия: алгоритмы являются ролевыми; Создайте клиентов, серверы или оба.
Простота использования: Boost.Asio пользователи немедленно поймут зверь.
Гибкость: пользователи принимают важные решения, такие как управление буфером или потоками.
Производительность: сборка приложений, обрабатывающих тысячи соединений или более.
Основа для дальнейшей абстракции. Компоненты хорошо подходят для строительства.
| CPPCON 2018 | Епископ Фокс 2018 |
|---|---|
| CPPCON 2017 | CPPCAST 2017 | CPPCON 2016 |
|---|---|---|
Это программное обеспечение находится в своем первом официальном выпуске. Интерфейсы могут измениться в ответ на отзывы пользователей. Для недавних изменений см. Чангейлогу.
Эта библиотека для программистов, знакомых с Boost.Asio. Пользователи, которые хотят использовать асинхронные интерфейсы, уже должны знать, как создавать параллельные сетевые программы, используя обратные вызовы или коратики.
При использовании Microsoft Visual C ++ требуется Visual Studio 2017 или позже.
Один из этих компонентов требуется для создания тестов и примеров:
Зверь только для заголовка. Чтобы использовать его, просто добавьте необходимую строку #include в ваши исходные файлы, например:
# include < boost/beast.hpp >Если вы используете Coroutines, вам нужно будет ссылаться с библиотекой Boost.coroutine. Пожалуйста, посетите документацию Boost для инструкций о том, как сделать это для вашей конкретной системы сборки.
Чтобы использовать последний официальный релиз Beast, просто получите последнее распределение повышения и следуйте инструкциям по интеграции в свою среду разработки. Если вы хотите создать примеры и тесты, или если вы хотите предварительно просмотреть предстоящие изменения и функции, предлагается клонировать «SuperProject» и поработать с Beast «In Tree» (то есть Libs/Beast Suberirectory SuperProject).
Официальный репозиторий содержит следующие филиалы:
Master Это имеет самый последний снимок с кодом, который, как известно, является стабильным.
Развитие этого имеет самый последний снимок. Это может содержать нестабильный код.
Каждому из этих ветвей требуется соответствующая ветвь усиления и все его подпроекты. Например, если вы хотите использовать версию Beast Master , вы должны клонировать суперпроект Boost, переключиться на главную ветвь в суперпроекте и приобрести все библиотеки Boost, соответствующие этой ветви, включая Beast.
Чтобы клонировать суперпроект локально, и переключиться на использование каталога основного проекта:
git clone --recursive https://github.com/boostorg/boost.git
cd boost
«Bjam» используется для строительства Beast и библиотеки Boost. В системе, не являющейся Windows, используйте эту команду для построения BJAM:
./bootstrap.sh
В командной строке Windows строите BJAM, используя эту команду:
.BOOTSTRAP.BAT
Строительные испытания и примеры требуют установки OpenSSL. Если OpenSSL установлен в несистемном месте, вам нужно будет скопировать файл user-config.jam в свой домашний каталог и установить переменную среды OPENSSL_ROOT на путь, который содержит установку OpenSSL.
При установке в системный каталог OpenSSL будет автоматически найден и используется.
sudo apt install libssl-dev Замените path в следующих фрагментах кода на пути, который вы установили VCPKG. Примеры предполагают 32-разрядную сборку, если вы создаете 64-разрядную версию, замените x32-windows с x64-windows на пути.
vcpkg install openssl --triplet x32-windows
SET OPENSSL_ROOT = pathinstalledx32-windowsvcpkg install openssl -- triplet x32 - windows
$ env: OPENSSL_ROOT = " pathx32-windows "vcpkg.exe install openssl --triplet x32-windows
export OPENSSL_ROOT=path/x32-windowsИспользование напитка:
brew install openssl
export OPENSSL_ROOT= $( brew --prefix openssl )
# install bjam tool user specific configuration file to read OPENSSL_ROOT
# see https://www.bfgroup.xyz/b2/manual/release/index.html
cp ./libs/beast/tools/user-config.jam $HOMEУбедитесь, что инструмент BJAM (также называемый «B2») доступен в пути, который ваш оболочка использует для поиска исполняемых файлов. Проект Beast расположен в «Libs/Beast» относительно каталога, содержащего суперпроект Boot. Чтобы создать тесты зверя, примеры и документацию. Используйте эти команды:
export PATH=$PWD:$PATH
b2 -j2 libs/beast/test cxxstd=11 # bjam must be in your $PATH
b2 -j2 libs/beast/example cxxstd=11 # "-j2" means use two processors
b2 libs/beast/doc # Doxygen and Saxon are required for this
Дополнительные инструкции для настройки, использования и построения библиотек в суперпроекте могут быть найдены в Boost Wiki.
Cmake может использоваться для создания очень хорошего решения Visual Studio и набора файлов проекта Visual Studio, используя эти команды:
cmake -G "Visual Studio 17 2022" -A win32 -B bin -DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE="C:/boost/libs/beast/cmake/toolchains/msvc.cmake"
cmake -G "Visual Studio 17 2022" -A x64 -B bin64 -DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE="C:/boost/libs/beast/cmake/toolchains/msvc.cmake"
Файлы в репозитории изложены таким образом:
./
bin/ Create this to hold executables and project files
bin64/ Create this to hold 64-bit Windows executables and project files
doc/ Source code and scripts for the documentation
include/ Where the header files are located
example/ Self contained example programs
meta/ Metadata for Boost integration
test/ The unit tests for Beast
tools/ Scripts used for CI testing
Эти примеры являются полными, автономными программами, которые вы можете построить и запустить себя (они находятся в каталоге example ).
https://www.boost.org/doc/libs/develop/libs/beast/doc/html/beast/quick_start.html
Распространено по лицензии на программное обеспечение Boost, версия 1.0. (См. Accompaning File License_1_0.txt или копирование по адресу https://www.boost.org/license_1_0.txt)
Пожалуйста, сообщите о вопросах или вопросах здесь: https://github.com/boostorg/beast/issues
Если вы хотите внести свой вклад в Beast и помочь нам поддерживать высокое качество, рассмотрите возможность выполнения обзоров кода по активным запросам. Любые отзывы пользователей и заинтересованных сторон, даже простые вопросы о том, как все работает или почему они были сделаны определенным образом, несут ценность и могут использоваться для улучшения библиотеки. Обзор кода предоставляет эти преимущества:
Вы можете просмотреть запросы на закрытые притяжения, чтобы получить представление о том, как выполняются отзывы. Чтобы дать обзор кода, просто войдите в свою учетную запись GitHub, а затем добавьте комментарии к любым открытым запросам на вытягивание ниже, не стесняйтесь!
https://github.com/boostorg/beast/pulls
Вот несколько ресурсов, чтобы узнать больше о обзорах кода:
Beast процветает по обзорам кода и любым видам отзывов от пользователей и заинтересованных сторон о его интерфейсах. Даже если у вас просто есть вопросы, запрашивая их в обзоре кода или в выпусках, предоставляет ценную информацию, которую можно использовать для улучшения библиотеки - не стесняйтесь, никаких вопросов не является незначительным или неважным!