| 支店 | Linux / Windows | カバレッジ | ドキュメント | マトリックス |
|---|---|---|---|---|
| マスター | ||||
| 開発する |
Beastは、Boost.asioの一貫した非同期モデルを使用して、低レベルのHTTP/1、WebSocket、およびネットワーキングプロトコルの語彙タイプとアルゴリズムを提供することにより、相互運用可能なネットワーキングライブラリを作成するための基盤として機能するC ++ヘッダーのみのライブラリです。
このライブラリは次のように設計されています。
対称性:アルゴリズムはロール依存性です。クライアント、サーバー、またはその両方を構築します。
使いやすさ: boost.asioユーザーはすぐに獣を理解します。
柔軟性:ユーザーは、バッファーやスレッド管理などの重要な決定を下します。
パフォーマンス:数千以上の接続を処理するアプリケーションを構築します。
さらなる抽象化の基礎。コンポーネントは、構築に適しています。
| CPPCON 2018 | フォックス司教2018 |
|---|---|
| CPPCON 2017 | CPPCAST 2017 | CPPCON 2016 |
|---|---|---|
このソフトウェアは、最初の公式リリースにあります。インターフェイスは、ユーザーのフィードバックに応じて変更される場合があります。最近の変更については、Changelogを参照してください。
このライブラリは、boost.asioに精通しているプログラマー向けです。非同期インターフェイスを使用したいユーザーは、コールバックまたはコルーチンを使用して同時ネットワークプログラムを作成する方法を既に知っている必要があります。
Microsoft Visual C ++を使用する場合、Visual Studio 2017以降が必要です。
これらのコンポーネントの1つは、テストと例を構築するために必要です。
ビーストはヘッダーのみです。使用するには、必要な#include行をソースファイルに追加するだけです。
# include < boost/beast.hpp >Coroutinesを使用する場合は、boost.coroutineライブラリにリンクする必要があります。特定のビルドシステムのためにこれを行う方法については、ブーストドキュメントをご覧ください。
Beastの最新の公式リリースを使用するには、最新のブースト分布を取得し、開発環境に統合するための指示に従ってください。例とテストを作成したい場合、または今後の変更と機能をプレビューする場合は、「スーパープロジェクトをブースト」し、ビーストで「トゥリー」(つまり、スーパープロジェクトのLIBS/BEASTサブディレクトリ)で動作することがお勧めします。
公式リポジトリには、次のブランチが含まれています。
マスターこれは、安定していることが知られているコードを使用して、最新のスナップショットを保持します。
これを開発すると、最新のスナップショットが保持されます。不安定なコードが含まれている場合があります。
これらの各ブランチには、対応するブーストブランチとそのすべてのサブプロジェクトが必要です。たとえば、Beastのマスターブランチバージョンを使用する場合は、Boost SuperProjectをクローンし、SuperProjectのMaster Branchに切り替えて、Beastを含むそのブランチに対応するすべてのブーストライブラリを取得する必要があります。
SuperProjectをローカルにクローンし、メインプロジェクトのディレクトリ使用に切り替えるには:
git clone --recursive https://github.com/boostorg/boost.git
cd boost
「BJAM」は、獣とブーストライブラリを構築するために使用されます。非ワインドシステムでは、このコマンドを使用してBJAMを構築します。
./bootstrap.sh
Windowsコマンドラインから、このコマンドを使用してBJAMを構築します。
.BOOTSTRAP.BAT
建物のテストと例には、OpenSSLがインストールされる必要があります。 OpenSSLが非システムの場所にインストールされている場合、ユーザーconfig.jamファイルをホームディレクトリにコピーし、 OPENSSL_ROOT環境変数をOpenSSLのインストールを含むパスに設定する必要があります。
システムディレクトリにインストールされた場合、OpenSSLは自動的に見つかり、使用されます。
sudo apt install libssl-dev次のコードスニペットのpathを、VCPKGにインストールしたパスに置き換えます。例の場合、64ビットバージョンをビルドすると、 x32-windowsパス内のx64-windowsに置き換える場合、32ビットビルドを想定しています。
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-windowsBrewの使用:
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 $HOMEBJAMツール(「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は、これらのコマンドを使用して、非常に優れたビジュアルスタジオソリューションとビジュアルスタジオプロジェクトファイルのセットを生成するために使用できます。
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 Softwareライセンスバージョン1.0の下で配布されます。 (添付ファイルライセンス_1_0.txtを参照するか、https://www.boost.org/license_1_0.txtでコピーしてください)
https://github.com/boostorg/beast/issuesで問題や質問を報告してください
ビーストに貢献し、高品質の維持を支援したい場合は、アクティブなプルリクエストでコードレビューを実行することを検討してください。ユーザーや利害関係者からのフィードバックは、物事がどのように機能するか、なぜ特定の方法で行われたのかについての簡単な質問でさえ、価値を持ち、ライブラリを改善するために使用できます。コードレビューはこれらの利点を提供します:
閉じたプルリクエストを調べて、レビューの実行方法をアイデアすることができます。コードレビューを提供するには、GitHubアカウントにサインインして、以下のオープンプルリクエストにコメントを追加するだけで、恥ずかしがり屋ではありません!
https://github.com/boostorg/beast/pulls
コードレビューの詳細については、次のようなリソースをいくつか紹介します。
ビーストは、コードレビューと、そのインターフェイスに関するユーザーと利害関係者からのあらゆる種類のフィードバックで繁栄しています。質問がある場合でも、コードレビューまたは問題でそれらを尋ねても、ライブラリを改善するために使用できる貴重な情報を提供します - ためらわないでください、疑いの余地はないか重要ではありません!