| Zweig | Linux / Windows | Berichterstattung | Dokumentation | Matrix |
|---|---|---|---|---|
| Master | ||||
| entwickeln |
Beast ist eine C ++-Nur-Header-Bibliothek, die als Grundlage für das Schreiben interoperierbarer Netzwerkbibliotheken dient, indem HTTP/1, Websocket- und Networking-Protokoll- Vokabular-Typen und Algorithmen mit dem konsistenten asynchronen Modell von Boost.asio bereitgestellt werden.
Diese Bibliothek ist für:
Symmetrie: Algorithmen sind Rollenagnostiker; Bauen Sie Kunden, Server oder beides auf.
Benutzerfreundlichkeit: Boost.Asio -Benutzer verstehen das Beast sofort.
Flexibilität: Benutzer treffen wichtige Entscheidungen wie Puffer oder Thread Management.
Leistung: Erstellen Sie Anwendungen, die Tausende von Verbindungen oder mehr bearbeiten.
Grundlage für weitere Abstraktion. Komponenten eignen sich gut zum Aufbau auf.
| CPPCON 2018 | Bischof Fox 2018 |
|---|---|
| CPPCON 2017 | CPPCast 2017 | CPPCON 2016 |
|---|---|---|
Diese Software ist in ihrer ersten offiziellen Veröffentlichung. Schnittstellen können sich als Reaktion auf das Feedback der Benutzer ändern. Für jüngste Änderungen sehen Sie den Changelog.
Diese Bibliothek ist für Programmierer gedacht, die mit Boost.asio vertraut sind. Benutzer, die asynchrone Schnittstellen verwenden möchten, sollten bereits wissen, wie sie mithilfe von Rückrufe oder Coroutinen gleichzeitige Netzwerkprogramme erstellen.
Bei Verwendung von Microsoft Visual C ++ ist Visual Studio 2017 oder höher erforderlich.
Eine dieser Komponenten ist erforderlich, um die Tests und Beispiele zu erstellen:
Biest ist nur Header. Um es zu verwenden, fügen Sie Ihren Quelldateien wie folgt die erforderliche #include -Zeile hinzu:
# include < boost/beast.hpp >Wenn Sie Coroutinen verwenden, müssen Sie mit der Boost.Coroutine -Bibliothek verlinken. Bitte besuchen Sie die Boost -Dokumentation, um Anweisungen dazu für Ihr spezielles Build -System zu erhalten.
Um die neueste offizielle Veröffentlichung von Beast zu verwenden, erhalten Sie einfach die neueste Boost -Verteilung und befolgen Sie die Anweisungen zur Integration in Ihre Entwicklungsumgebung. Wenn Sie die Beispiele und Tests erstellen möchten oder wenn Sie die bevorstehenden Änderungen und Merkmale vorschauen möchten, wird vorgeschlagen, das "Boost Superproject" zu klonen und mit Biest "In-Tree" zu arbeiten (dh das Subdirektor der Libs/Biest des Superprojekts).
Das offizielle Repository enthält die folgenden Zweige:
Master Dies hat den neuesten Schnappschuss mit Code, von dem bekannt ist, dass es stabil ist.
Entwickeln Sie dies hält den neuesten Schnappschuss. Es kann instabilen Code enthalten.
Jeder dieser Zweige erfordert einen entsprechenden Boost -Zweig und alle Unterprojekte. Wenn Sie beispielsweise die Master -Zweigversion von Beast verwenden möchten, sollten Sie das Boost -Superprojekt klonen, in die Master -Filiale im Superprojekt wechseln und alle Boost -Bibliotheken erwerben, die diesem Zweig einschließlich Beast entsprechen.
So klonen Sie das Superprojekt lokal und wechseln Sie in das Verzeichnis des Hauptprojekts:
git clone --recursive https://github.com/boostorg/boost.git
cd boost
"Bjam" wird verwendet, um Biest und die Boost -Bibliotheken zu bauen. Verwenden Sie auf einem Nicht-Windows-System diesen Befehl, um BJAM zu erstellen:
./bootstrap.sh
Erstellen Sie aus einer Windows -Befehlszeile BJAM mit diesem Befehl:
.BOOTSTRAP.BAT
Bei der Erstellung von Tests und Beispielen müssen OpenSL installiert werden. Wenn OpenSL an einem nicht-System-Standort installiert ist, müssen Sie die Datei user-config.jam in Ihr Home-Verzeichnis kopieren und die Umgebungsvariable OPENSSL_ROOT auf den Pfad einstellen, der eine Installation von OpenSSL enthält.
Wenn OpenSSL in ein Systemverzeichnis installiert wird, wird sie automatisch gefunden und verwendet.
sudo apt install libssl-dev Ersetzen Sie path in den folgenden Code -Snippets durch den Pfad, auf den Sie VCPKG installiert haben. Beispiele nehmen einen 32-Bit-Build an, wenn Sie eine 64-Bit-Version erstellen. Ersetzen Sie x32-windows durch x64-windows im Pfad.
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-windowsVerwenden von Brauen:
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 $HOMEStellen Sie sicher, dass das BJAM -Tool (auch "B2" bezeichnet) in dem Pfad erhältlich ist, mit dem Ihre Shell ausführbare Funktionen finden. Das Beast -Projekt befindet sich in "libs/Biest" relativ zum Verzeichnis, das das Boot -Superprojekt enthält. Um die Beast -Tests, Beispiele und Dokumentation zu erstellen, verwenden Sie diese Befehle:
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
Weitere Anweisungen zum Konfigurieren, Verwenden und Erstellen von Bibliotheken in Superproject finden Sie im Boost -Wiki.
CMAKE kann verwendet werden, um eine sehr schöne Visual Studio -Lösung und eine Reihe von Visual Studio -Projektdateien zu generieren, indem sie diese Befehle verwenden:
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"
Die Dateien im Repository sind so dargelegt:
./
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
Diese Beispiele sind vollständige, in sich geschlossene Programme, die Sie selbst erstellen und ausführen können (sie befinden sich im example ).
https://www.boost.org/doc/libs/develop/libs/beast/doc/html/beast/quick_start.html
Unter der Boost -Software -Lizenz verteilt, Version 1.0. (Siehe begleitende Datei lizenz_1_0.txt oder kopieren Sie unter https://www.boost.org/license_1_0.txt)
Bitte melden Sie Probleme oder Fragen hier: https://github.com/boostorg/beast/issues
Wenn Sie zum Biest beitragen und uns helfen möchten, hohe Qualität beizubehalten, sollten Sie Code -Bewertungen für aktive Pull -Anfragen durchführen. Jegliches Feedback von Benutzern und Stakeholdern, auch einfache Fragen, wie die Dinge funktionieren oder warum sie auf eine bestimmte Weise gemacht wurden, haben Wert und können zur Verbesserung der Bibliothek verwendet werden. Die Code -Überprüfung bietet folgende Vorteile:
Sie können die geschlossenen Pull -Anfragen durchsuchen, um eine Vorstellung davon zu erhalten, wie Bewertungen durchgeführt werden. Um eine Code -Überprüfung zu geben, melden Sie sich einfach mit Ihrem Github -Konto an und fügen Sie dann Kommentare zu offenen Pull -Anfragen unten hinzu. Seien Sie nicht schüchtern!
https://github.com/boostorg/beast/pulls
Hier sind einige Ressourcen, um mehr über Code -Bewertungen zu erfahren:
Beast lebt von Code -Bewertungen und jeder Art von Feedback von Benutzern und Stakeholdern über seine Schnittstellen. Selbst wenn Sie nur Fragen haben, bietet das Befragen dieser in der Code -Überprüfung oder in Fragen wertvolle Informationen, die zur Verbesserung der Bibliothek verwendet werden können. Zögern Sie nicht, keine Frage ist unbedeutend oder unwichtig!