| Cabang | Linux / Windows | Cakupan | Dokumentasi | Matriks |
|---|---|---|---|---|
| menguasai | ||||
| mengembangkan |
Beast adalah perpustakaan C ++ Header saja yang berfungsi sebagai fondasi untuk menulis perpustakaan jaringan yang dapat dioperasikan dengan menyediakan http/1 tingkat rendah, WebSocket, dan jenis kosa kata protokol jaringan dan algoritma menggunakan model asinkron yang konsisten dari Boost.asio.
Perpustakaan ini dirancang untuk:
Simetri: Algoritma adalah peran-agnostik; Bangun klien, server, atau keduanya.
Kemudahan Penggunaan: Pengguna Boost.Asio akan segera memahami Beast.
Fleksibilitas: Pengguna membuat keputusan penting seperti buffer atau manajemen utas.
Kinerja: Membangun aplikasi yang menangani ribuan koneksi atau lebih.
Dasar untuk abstraksi lebih lanjut. Komponen sangat cocok untuk dibangun.
| CPPCON 2018 | Uskup Fox 2018 |
|---|---|
| CPPCON 2017 | CPPCAST 2017 | CPPCON 2016 |
|---|---|---|
Perangkat lunak ini dalam rilis resmi pertamanya. Antarmuka dapat berubah sebagai tanggapan terhadap umpan balik pengguna. Untuk perubahan terbaru, lihat changelog.
Perpustakaan ini untuk programmer yang akrab dengan Boost.asio. Pengguna yang ingin menggunakan antarmuka asinkron seharusnya sudah tahu cara membuat program jaringan bersamaan menggunakan callback atau coroutine.
Saat menggunakan Microsoft Visual C ++, Visual Studio 2017 atau lebih baru diperlukan.
Salah satu komponen ini diperlukan untuk membangun tes dan contoh:
Beast hanya header. Untuk menggunakannya cukup tambahkan baris #include yang diperlukan ke file sumber Anda, seperti ini:
# include < boost/beast.hpp >Jika Anda menggunakan coroutine, Anda harus menautkan dengan Boost.Coroutine Library. Silakan kunjungi dokumentasi Boost untuk instruksi tentang cara melakukan ini untuk sistem build khusus Anda.
Untuk menggunakan rilis resmi Beast terbaru, cukup dapatkan distribusi dorongan terbaru dan ikuti instruksi untuk mengintegrasikannya ke dalam lingkungan pengembangan Anda. Jika Anda ingin membangun contoh dan tes, atau jika Anda ingin melihat pratinjau perubahan dan fitur yang akan datang, disarankan untuk mengkloning "Boost Superproject" dan bekerja dengan binatang "in-tree" (artinya, subdirektori superproyek Libs/Beast).
Repositori resmi berisi cabang -cabang berikut:
Master ini memegang snapshot terbaru dengan kode yang dikenal stabil.
Kembangkan ini memiliki snapshot terbaru. Ini mungkin berisi kode yang tidak stabil.
Masing -masing cabang ini memerlukan cabang dorongan yang sesuai dan semua subproyeknya. Misalnya, jika Anda ingin menggunakan versi Cabang Master dari Beast, Anda harus mengkloning superproject Boost, beralih ke cabang master di superproject dan memperoleh semua pustaka Boost yang sesuai dengan cabang itu termasuk binatang buas.
Untuk mengkloning superproyek secara lokal, dan beralih ke penggunaan direktori proyek utama:
git clone --recursive https://github.com/boostorg/boost.git
cd boost
"BJAM" digunakan untuk membangun binatang buas dan perpustakaan Boost. Pada sistem non-windows, gunakan perintah ini untuk membangun bjam:
./bootstrap.sh
Dari baris perintah Windows, bangun bjam menggunakan perintah ini:
.BOOTSTRAP.BAT
Tes dan contoh bangunan membutuhkan OpenSSL terpasang. Jika OpenSSL diinstal di lokasi non-sistem OPENSSL_ROOT Anda harus menyalin file pengguna-konfigasi.
Jika diinstal ke direktori sistem, OpenSSL akan secara otomatis ditemukan dan digunakan.
sudo apt install libssl-dev Ganti path di cuplikan kode berikut dengan jalur yang Anda instal vcpkg ke. Contohnya mengasumsikan build 32-bit, jika Anda membangun versi 64-bit, ganti x32-windows dengan x64-windows di jalur.
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-windowsMenggunakan minuman:
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 $HOMEPastikan alat BJAM (juga disebut "B2") tersedia di jalur yang digunakan shell Anda untuk menemukan executable. Proyek Beast terletak di "LIBS/BEAST" relatif terhadap direktori yang berisi superproyek boot. Untuk membangun tes, contoh, dan dokumentasi binatang buas, gunakan perintah ini:
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
Instruksi tambahan untuk mengkonfigurasi, menggunakan, dan membangun pustaka di superpromject dapat ditemukan di wiki Boost.
CMake dapat digunakan untuk menghasilkan solusi Visual Studio yang sangat bagus dan satu set file proyek Visual Studio menggunakan perintah ini:
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"
File -file dalam repositori diletakkan dengan demikian:
./
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
Contoh-contoh ini adalah program lengkap dan mandiri yang dapat Anda bangun dan jalankan diri Anda (mereka ada dalam direktori example ).
https://www.boost.org/doc/libs/develop/libs/beast/doc/html/beast/quick_start.html
Didistribusikan di bawah lisensi perangkat lunak Boost, versi 1.0. (Lihat file lisensi_1_0.txt atau salin di https://www.boost.org/license_1_0.txt)
Harap laporkan masalah atau pertanyaan di sini: https://github.com/boostorg/beast/issues
Jika Anda ingin berkontribusi pada Beast dan membantu kami mempertahankan kualitas tinggi, pertimbangkan untuk melakukan tinjauan kode pada permintaan tarikan aktif. Setiap umpan balik dari pengguna dan pemangku kepentingan, bahkan pertanyaan sederhana tentang cara kerja atau mengapa mereka dilakukan dengan cara tertentu, membawa nilai dan dapat digunakan untuk meningkatkan perpustakaan. Ulasan kode memberikan manfaat ini:
Anda dapat melihat melalui permintaan tarikan tertutup untuk mendapatkan gambaran tentang bagaimana ulasan dilakukan. Untuk memberikan tinjauan kode cukup masuk dengan akun GitHub Anda dan kemudian tambahkan komentar ke permintaan tarik terbuka di bawah ini, jangan malu!
https://github.com/boostorg/beast/pulls
Berikut adalah beberapa sumber daya untuk mempelajari lebih lanjut tentang ulasan kode:
Beast berkembang dengan ulasan kode dan segala jenis umpan balik dari pengguna dan pemangku kepentingan tentang antarmuka. Bahkan jika Anda hanya memiliki pertanyaan, menanyakannya dalam tinjauan kode atau dalam masalah memberikan informasi berharga yang dapat digunakan untuk meningkatkan perpustakaan - jangan ragu, tidak ada pertanyaan yang tidak signifikan atau tidak penting!