| 分支 | Linux / Windows | 覆盖范围 | 文档 | 矩阵 |
|---|---|---|---|---|
| 掌握 | ||||
| 发展 |
BEAST是一个仅C ++标题库,可通过提供低级HTTP/1,Websocket和网络协议词汇类型和算法,使用boost.asio的始终如一的异步模型来编写可互操作网络库的基础。
该库是为:
对称性:算法是角色敏锐的;构建客户,服务器或两者兼而有之。
易用性: boost.asio用户将立即了解野兽。
灵活性:用户做出重要决策,例如缓冲区或线程管理。
性能:构建应用程序处理数千个或更多连接的应用程序。
进一步抽象的基础。组件非常适合构建。
| CPPCON 2018 | 福克斯主教2018 |
|---|---|
| CPPCON 2017 | CPPCAST 2017 | CPPCON 2016 |
|---|---|---|
该软件是首个正式版本。界面可能会因用户反馈而发生变化。有关最近的更改,请参见Changelog。
该库适用于熟悉boost.asio的程序员。希望使用异步界面的用户应该已经知道如何使用回调或Coroutines创建并发网络程序。
使用Microsoft Visual C ++时,需要Visual Studio 2017或更高版本。
为了构建测试和示例,需要其中之一:
野兽是仅标题的。要使用它,只需将必要的#include行添加到您的源文件中,例如:
# include < boost/beast.hpp >如果使用Coroutines,则需要与BOOST.COROUTINE库链接。请访问Boost文档以获取有关如何为您的特定构建系统执行此操作的说明。
要使用野兽的最新官方版本,只需获取最新的增强分布,并按照将其集成到开发环境中的说明。如果您想构建示例和测试,或者希望预览即将到来的更改和功能,则建议克隆“ Boost SuperProject”并与Beast“ In-Tree”一起工作(意思是SuperProject的Libs/Beast Subsirectory)。
官方存储库包含以下分支:
Master这是最新的快照,其代码已知稳定。
开发这是最新的快照。它可能包含不稳定的代码。
这些分支中的每一个都需要相应的增压分支及其所有子标记。例如,如果您想使用野兽的主分支版本,则应克隆Boost SuperProject,切换到SuperProject中的主分支,并获取与该分支相对应的所有Boost库,包括野兽。
要在本地克隆SuperProject,然后切换到Main Project的目录使用:
git clone --recursive https://github.com/boostorg/boost.git
cd boost
“ BJAM”用于建造野兽和提升库。在非Windows系统上,使用此命令来构建BJAM:
./bootstrap.sh
从Windows命令行,使用此命令构建BJAM:
.BOOTSTRAP.BAT
建筑测试和示例需要安装OpenSSL。如果将OPENSL安装在非系统位置中,则需要将用户config.jam文件复制到主目录中,并将OPENSSL_ROOT环境变量设置为包含OpenSSL安装的路径。
如果安装到系统目录中,将自动找到和使用OpenSSL。
sudo apt install libssl-dev将以下代码段中的path替换为已安装VCPKG的路径。示例假设一个32位构建,如果您构建了64位版本,则用路径中的x32-windows替换X32 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”)。野兽项目位于“ libs/beast”中,相对于包含启动超级项目的目录。为了构建野兽测试,示例和文档使用以下命令:
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 Project Files:
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)分发。 (请参阅随附的文件LICENDER_1_0.TXT或在https://www.boost.org/license_1_0.txt上复制
请在此处报告问题或问题:https://github.com/boostorg/beast/issues
如果您想为野兽做出贡献并帮助我们保持高质量,请考虑对主动拉的请求进行代码审查。用户和利益相关者的任何反馈,甚至有关事物如何工作的简单问题,或者为什么以某种方式进行操作,具有价值并可以用于改善库。代码审查提供了以下好处:
您可以浏览封闭的请求,以了解如何执行评论。要进行代码审查,只需登录您的github帐户,然后在下面的任何打开请求中添加注释,请不要害羞!
https://github.com/boostorg/beast/pulls
这里有一些资源可以了解有关代码评论的更多信息:
野兽在代码评论以及用户和利益相关者有关其界面的任何形式的反馈方面蓬勃发展。即使您只有疑问,在代码审查中询问他们,或者在问题中提供可用于改进图书馆的有价值的信息 - 请不要犹豫,毫无疑问,毫无疑问是微不足道的或不重要的!