| 分支 | 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
這裡有一些資源可以了解有關代碼評論的更多信息:
野獸在代碼評論以及用戶和利益相關者有關其界面的任何形式的反饋方面蓬勃發展。即使您只有疑問,在代碼審查中詢問他們,或者在問題中提供可用於改進圖書館的有價值的信息 - 請不要猶豫,毫無疑問,毫無疑問是微不足道的或不重要的!