| Bifurquer | Linux / Windows | Couverture | Documentation | Matrice |
|---|---|---|---|---|
| maître | ||||
| développer |
Beast est une bibliothèque d'en-tête C ++ servant de base à la rédaction de bibliothèques de réseautage interopérables en fournissant des types de vocabulaire et des algorithmes de vocabulaire et des algorithmes de protocole de réseautage de réseautage à l'aide du modèle asynchrone cohérent de boost.asio.
Cette bibliothèque est conçue pour:
Symétrie: les algorithmes sont agnostiques du rôle; créer des clients, des serveurs ou les deux.
Facilité d'utilisation: Boost.asio Les utilisateurs comprendront immédiatement la bête.
Flexibilité: les utilisateurs prennent les décisions importantes telles que la gestion de tampon ou de threads.
Performances: créez des applications gérant des milliers de connexions ou plus.
Base d'une abstraction supplémentaire. Les composants sont bien adaptés à la construction.
| CPPCON 2018 | Bishop Fox 2018 |
|---|---|
| CPPCON 2017 | CPPCast 2017 | CPPCON 2016 |
|---|---|---|
Ce logiciel en est à sa première version officielle. Les interfaces peuvent changer en réponse aux commentaires des utilisateurs. Pour les changements récents, voir le Changelog.
Cette bibliothèque est destinée aux programmeurs familiers avec boost.asio. Les utilisateurs qui souhaitent utiliser des interfaces asynchrones devraient déjà savoir comment créer des programmes réseau simultanés à l'aide de rappels ou de coroutines.
Lorsque vous utilisez Microsoft Visual C ++, Visual Studio 2017 ou ultérieure est requis.
L'un de ces composants est nécessaire pour construire les tests et les exemples:
La bête est uniquement en tête. Pour l'utiliser, ajoutez simplement la ligne #include nécessaire à vos fichiers source, comme ceci:
# include < boost/beast.hpp >Si vous utilisez des coroutines, vous devrez créer un lien avec la bibliothèque boost.coroutine. Veuillez visiter la documentation Boost pour des instructions sur la façon de procéder pour votre système de construction particulier.
Pour utiliser la dernière version officielle de Beast, obtenez simplement la dernière distribution Boost et suivez les instructions pour l'intégrer dans votre environnement de développement. Si vous souhaitez construire les exemples et les tests, ou si vous souhaitez prévisualiser les modifications et les fonctionnalités à venir, il est suggéré de cloner le "Boost Superproject" et de travailler avec Beast "In-Tree" (ce qui signifie, le sous-répertoire Libs / Beast du superproject).
Le référentiel officiel contient les branches suivantes:
Master Cela contient l'instantané le plus récent avec le code qui est connu pour être stable.
Développement cela contient l'instantané le plus récent. Il peut contenir du code instable.
Chacune de ces branches nécessite une branche de boost correspondante et tous ses sous-projets. Par exemple, si vous souhaitez utiliser la version Master Branch de Beast, vous devez cloner le Superproject Boost, passer à la branche maître dans le superproject et acquérir toutes les bibliothèques boost correspondant à cette branche, y compris la bête.
Pour cloner le superproject localement et passer à l'utilisation du répertoire du projet principal:
git clone --recursive https://github.com/boostorg/boost.git
cd boost
"BJAM" est utilisé pour construire Beast et les bibliothèques Boost. Sur un système non Windows, utilisez cette commande pour construire BJAM:
./bootstrap.sh
À partir d'une ligne de commande Windows, construisez BJAM en utilisant cette commande:
.BOOTSTRAP.BAT
Les tests et les exemples de construction nécessitent l'OpenSSL installé. Si OpenSSL est installé dans un emplacement de non-système, vous devrez copier le fichier utilisateur-config.jam dans votre répertoire domestique et définir la variable d'environnement OPENSSL_ROOT sur le chemin qui contient une installation d'OpenSSL.
S'il est installé dans un répertoire système, OpenSSL sera automatiquement trouvé et utilisé.
sudo apt install libssl-dev Remplacez path dans les extraits de code suivants par le chemin sur lequel vous avez installé VCPKG. Des exemples supposent une version 32 bits, si vous construisez une version 64 bits, remplacez x32-windows par x64-windows dans le chemin.
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-windowsUtilisation de Brew:
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 $HOMEAssurez-vous que l'outil BJAM (également appelé "B2") est disponible dans le chemin que votre shell utilise pour trouver des exécutables. Le projet Beast est situé dans "Libs / Beast" par rapport au répertoire contenant le superproject de démarrage. Pour construire les tests de bête, des exemples et une documentation, utilisez ces commandes:
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
Des instructions supplémentaires pour configurer, utiliser et construire des bibliothèques dans SuperProject peuvent être trouvées dans le wiki boost.
CMake peut être utilisé pour générer une très belle solution Visual Studio et un ensemble de fichiers de projet Visual Studio en utilisant ces commandes:
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"
Les fichiers du référentiel sont disposés ainsi:
./
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
Ces exemples sont des programmes complets et autonomes que vous pouvez créer et exécuter vous-même (ils sont dans l' example de répertoire).
https://www.boost.org/doc/libs/develop/libs/beast/doc/html/beast/quick_start.html
Distribué sous la licence Software Boost, version 1.0. (Voir l'accompagnement de licence de fichier_1_0.txt ou copier à https://www.boost.org/license_1_0.txt)
Veuillez signaler les problèmes ou les questions ici: https://github.com/boostorg/beast/issues
Si vous souhaitez contribuer à la bête et nous aider à maintenir une qualité de haute qualité, envisagez d'exécuter des avis de code sur les demandes de traction actives. Tous les commentaires des utilisateurs et des parties prenantes, même des questions simples sur le fonctionnement des choses ou pourquoi ils ont été réalisés d'une certaine manière, ont de la valeur et peuvent être utilisés pour améliorer la bibliothèque. La révision du code offre ces avantages:
Vous pouvez parcourir les demandes de traction fermées pour avoir une idée de la façon dont les avis sont effectués. Pour donner une revue de code, connectez-vous simplement avec votre compte GitHub, puis ajoutez des commentaires à toutes les demandes de traction ouvertes ci-dessous, ne soyez pas timide!
https://github.com/boostorg/beast/pulls
Voici quelques ressources pour en savoir plus sur les avis de code:
Beast prospère sur les avis de code et toute sorte de commentaires des utilisateurs et des parties prenantes sur ses interfaces. Même si vous avez simplement des questions, en leur posant dans l'examen du code ou dans des problèmes fournit des informations précieuses qui peuvent être utilisées pour améliorer la bibliothèque - n'hésitez pas, aucune question n'est insignifiante ou sans importance!