| 나뭇가지 | 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 이상이 필요합니다.
테스트 및 예를 구축하려면 이러한 구성 요소 중 하나가 필요합니다.
짐승은 헤더 전용입니다. 사용하려면 필요한 #include 줄을 소스 파일에 다음과 같이 추가하십시오.
# include < boost/beast.hpp >코 루틴을 사용하는 경우 boost.coroutine 라이브러리와 연결해야합니다. 특정 빌드 시스템에 대한이 작업을 수행하는 방법에 대한 지침은 Boost 문서를 방문하십시오.
Beast의 최신 공식 릴리스를 사용하려면 최신 부스트 분포를 얻고 개발 환경에 통합하기위한 지침을 따르십시오. 예제 및 테스트를 구축하거나 다가오는 변경 사항 및 기능을 미리 보려면 "SuperProject 부스트"를 복제하고 Beast "In-Tree"(의미, SuperProject의 Libs/Beast 하위 디렉토리)와 협력하는 것이 좋습니다.
공식 저장소에는 다음 지점이 포함되어 있습니다.
마스터 this는 안정된 것으로 알려진 코드로 가장 최근의 스냅 샷을 보유하고 있습니다.
개발 은 가장 최근의 스냅 샷을 보유하고 있습니다. 불안정한 코드가 포함될 수 있습니다.
이 분기 각각에는 해당 부스트 브랜치와 모든 하위 프로젝트가 필요합니다. 예를 들어, 마스터 브랜치 버전의 Beast를 사용하려면 Boost SuperProject를 복제하고 SuperProject의 마스터 브랜치로 전환하고 Beast를 포함한 해당 지점에 해당하는 모든 부스트 라이브러리를 얻습니다.
SuperProject를 로컬로 복제하고 주요 프로젝트의 디렉토리 사용으로 전환하려면 다음과 같습니다.
git clone --recursive https://github.com/boostorg/boost.git
cd boost
"Bjam"은 짐승과 부스트 라이브러리를 만드는 데 사용됩니다. 비 원도 시스템 에서이 명령을 사용하여 BJAM을 구축하십시오.
./bootstrap.sh
Windows 명령 줄 에서이 명령을 사용하여 BJAM을 빌드하십시오.
.BOOTSTRAP.BAT
구축 테스트 및 예제에는 OpenSSL이 설치되어야합니다. OpenSSL이 비 시스템 위치에 설치된 경우 user-config.jam 파일을 홈 디렉토리에 복사하고 OPENSSL_ROOT 환경 변수를 OpenSSL 설치가 포함 된 경로로 설정해야합니다.
시스템 디렉토리에 설치하면 OpenSSL이 자동으로 찾아서 사용됩니다.
sudo apt install libssl-dev 다음 코드 스 니펫의 path VCPKG로 설치 한 경로로 교체하십시오. 예제는 32 비트 빌드를 가정합니다. 64 비트 버전을 구축하면 x32-windows 경로에서 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-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
SuperProject에서 라이브러리를 구성, 사용 및 구축하기위한 추가 지침은 Boost Wiki에서 찾을 수 있습니다.
CMAKE는이 명령을 사용하여 매우 멋진 비주얼 스튜디오 솔루션과 Visual Studio Project 파일 세트를 생성하는 데 사용될 수 있습니다.
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에 따라 배포됩니다. (동반 파일 라이센스 _1_0.txt를 참조하거나 https://www.boost.org/license_1_0.txt에서 복사하십시오)
여기에서 문제 나 질문을 여기에서보고하십시오 : https://github.com/boostorg/beast/issues
짐승에 기여하고 고품질을 유지하는 데 도움이 되려면 활성 풀 요청에 대한 코드 리뷰 수행을 고려하십시오. 사용자와 이해 관계자의 피드백, 일이 어떻게 작동하는지 또는 특정 방식으로 수행 된 이유에 대한 간단한 질문조차도 가치를 제공하며 라이브러리를 개선하는 데 사용될 수 있습니다. 코드 검토는 이러한 이점을 제공합니다.
폐쇄 된 풀 요청을 살펴보고 리뷰가 수행되는 방법에 대한 아이디어를 얻을 수 있습니다. 코드 검토를 제공하려면 GitHub 계정으로 로그인 한 다음 아래의 열린 풀 요청에 주석을 추가하십시오. 부끄러워하지 마십시오!
https://github.com/boostorg/beast/pulls
코드 리뷰에 대한 자세한 내용은 다음과 같습니다.
Beast는 코드 검토 및 인터페이스에 대한 사용자 및 이해 관계자의 모든 종류의 피드백을 위해 번성합니다. 단지 질문이 있더라도 코드 검토 또는 문제에 묻는 것은 라이브러리를 개선하는 데 사용할 수있는 귀중한 정보를 제공합니다. 망설이지 말고 의문의 여지가 없거나 중요하지 않습니다!