| Rama | Linux / Windows | Cobertura | Documentación | Matriz |
|---|---|---|---|---|
| maestro | ||||
| desarrollar |
Beast es una biblioteca solo de encabezado C ++ que sirve como base para escribir bibliotecas de redes interoperables al proporcionar HTTP/1 de bajo nivel, WebSocket y tipos de vocabulario de protocolo de redes y algoritmos utilizando el modelo asincrónico consistente de Boost.asio.
Esta biblioteca está diseñada para:
Simetría: los algoritmos son agnósticos de roles; construir clientes, servidores o ambos.
Facilidad de uso: Boost.Asio Los usuarios entenderán de inmediato a Beast.
Flexibilidad: los usuarios toman decisiones importantes como la gestión de buffer o hilos.
Rendimiento: Cree aplicaciones que manejen miles de conexiones o más.
Base para una mayor abstracción. Los componentes son adecuados para construir.
| CPPCON 2018 | Bishop Fox 2018 |
|---|---|
| CPPCON 2017 | Cppcast 2017 | CPPCON 2016 |
|---|---|---|
Este software está en su primer lanzamiento oficial. Las interfaces pueden cambiar en respuesta a los comentarios de los usuarios. Para cambios recientes, vea ChangeLog.
Esta biblioteca es para programadores familiarizados con Boost.asio. Los usuarios que deseen usar interfaces asíncronas ya deben saber cómo crear programas de red concurrentes utilizando devoluciones de llamada o corutinas.
Cuando se usa Microsoft Visual C ++, se requiere Visual Studio 2017 o posterior.
Se requiere uno de estos componentes para construir las pruebas y ejemplos:
Beast es solo de encabezado. Para usarlo, simplemente agregue la línea #include necesaria a sus archivos de origen, como este:
# include < boost/beast.hpp >Si usa coroutinas, necesitará vincularse con la biblioteca boost.coroutine. Visite la documentación de Boost para obtener instrucciones sobre cómo hacer esto para su sistema de compilación particular.
Para utilizar el último lanzamiento oficial de Beast, simplemente obtenga la última distribución de impulso y siga las instrucciones para integrarla en su entorno de desarrollo. Si desea construir los ejemplos y pruebas, o si desea obtener una vista previa de los próximos cambios y características, se sugiere clonar el "superproyecto de refuerzo" y trabajar con la bestia "en el árbol" (es decir, el subdirectorio Libs/bestia del superproyecto).
El repositorio oficial contiene las siguientes ramas:
Maestro Esto contiene la instantánea más reciente con código que se sabe que es estable.
Desarrollar esto contiene la instantánea más reciente. Puede contener código inestable.
Cada una de estas ramas requiere una rama de impulso correspondiente y todos sus subproyectos. Por ejemplo, si desea utilizar la versión de la rama maestra de Beast, debe clonar el superproject Boost, cambiar a la rama maestra en el superproyecto y adquirir todas las bibliotecas de refuerzo correspondientes a esa rama, incluida la bestia.
Para clonar el superproyecto localmente y cambiar al uso del directorio del proyecto principal:
git clone --recursive https://github.com/boostorg/boost.git
cd boost
"BJAM" se usa para construir bestias y las bibliotecas de impulso. En un sistema que no es de Windows, use este comando para construir BJAM:
./bootstrap.sh
Desde una línea de comando de Windows, construya BJAM usando este comando:
.BOOTSTRAP.BAT
Las pruebas y ejemplos de construcción requieren OpenSSL instalados. Si OpenSSL se instala en una ubicación que no es del sistema, deberá copiar el archivo user-config.jam en su directorio de inicio y establecer la variable de entorno OPENSSL_ROOT en la ruta que contiene una instalación de OpenSSL.
Si se instala en un directorio de sistema, OpenSSL se encontrará automáticamente y se usará.
sudo apt install libssl-dev Reemplace path en los siguientes fragmentos de código con la ruta a la que instaló VCPKG. Ejemplos suponga una construcción de 32 bits, si construye una versión de 64 bits, reemplace x32-windows con x64-windows en la ruta.
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-windowsUsando la cerveza:
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 $HOMEAsegúrese de que la herramienta BJAM (también llamada "B2") esté disponible en la ruta que su shell usa para encontrar ejecutables. El proyecto Beast se encuentra en "Libs/Beast" en relación con el directorio que contiene el superproyecto de arranque. Para construir las pruebas de bestia, ejemplos y documentación, use estos comandos:
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
Se pueden encontrar instrucciones adicionales para configurar, usar y construir bibliotecas en SuperProject en la wiki Boost.
CMake se puede usar para generar una solución de Visual Studio muy agradable y un conjunto de archivos de proyectos de Visual Studio utilizando estos comandos:
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"
Los archivos en el repositorio se presentan así:
./
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
Estos ejemplos son programas completos y autónomos que puede construir y ejecutar usted mismo (están en el directorio de example ).
https://www.boost.org/doc/libs/develop/libs/beast/doc/html/beast/quick_start.html
Distribuido bajo la licencia de software Boost, versión 1.0. (Consulte el archivo de acompañamiento License_1_0.txt o copie en https://www.boost.org/license_1_0.txt)
Informe los problemas o preguntas aquí: https://github.com/boostorg/beast/issues
Si desea contribuir a Beast y ayudarnos a mantener una alta calidad, considere realizar revisiones de código en las solicitudes de extracción activa. Cualquier comentario de usuarios y partes interesadas, incluso preguntas simples sobre cómo funcionan las cosas o por qué se hicieron de cierta manera, tiene valor y puede usarse para mejorar la biblioteca. La revisión del código proporciona estos beneficios:
Puede mirar a través de las solicitudes de extracción cerrada para tener una idea de cómo se realizan las revisiones. Para dar una revisión de código, solo inicie sesión con su cuenta de GitHub y luego agregue comentarios a cualquier solicitud de extracción de puesta a continuación, ¡no seas tímido!
https://github.com/boostorg/beast/pulls
Aquí hay algunos recursos para obtener más información sobre las revisiones de código:
Beast prospera en las revisiones de código y cualquier tipo de retroalimentación de los usuarios y las partes interesadas sobre sus interfaces. Incluso si solo tiene preguntas, hacerlas en la revisión del código o en los problemas proporciona información valiosa que puede usarse para mejorar la biblioteca, no dude, ¡ninguna pregunta es insignificante o sin importancia!