| فرع | Linux / Windows | التغطية | الوثائق | المصفوفة |
|---|---|---|---|---|
| يتقن | ||||
| يطور |
BEAST هي مكتبة C ++ رأس فقط تعمل كأساس لكتابة مكتبات الشبكات القابلة للتشغيل من خلال توفير أنواع ومفردات بروتوكول WebSocket و WebSocket و Networkwork ذات المستوى المنخفض باستخدام نموذج غير متزامن من Boost.Asio.
تم تصميم هذه المكتبة من أجل:
التماثل: الخوارزميات هي الأدوار بناء العملاء أو الخوادم أو كليهما.
سهولة الاستخدام: Boost.Asio سوف يفهم المستخدمون الوحش على الفور.
المرونة: يتخذ المستخدمون القرارات المهمة مثل الإدارة العازلة أو مؤشرات الترابط.
الأداء: بناء تطبيقات تتعامل مع آلاف الاتصالات أو أكثر.
أساس لمزيد من التجريد. المكونات مناسبة بشكل جيد للبناء عليها.
| CPPCON 2018 | الأسقف فوكس 2018 |
|---|---|
| CPPCON 2017 | Cppcast 2017 | CPPCON 2016 |
|---|---|---|
هذا البرنامج في أول إصدار رسمي له. قد تتغير واجهات استجابة لتعليقات المستخدم. للاطلاع على التغييرات الأخيرة ، انظر Changelog.
هذه المكتبة مخصصة للمبرمجين على دراية بـ Boost.asio. يجب على المستخدمين الذين يرغبون في استخدام واجهات غير متزامنة أن يعرفوا بالفعل كيفية إنشاء برامج شبكة متزامنة باستخدام عمليات الاسترجاعات أو coroutines.
عند استخدام Microsoft Visual C ++ ، مطلوب Visual Studio 2017 أو الأحدث.
مطلوب أحد هذه المكونات من أجل بناء الاختبارات والأمثلة:
الوحش هو الرأس فقط. لاستخدامه فقط أضف خط #include اللازم إلى ملفات المصدر الخاصة بك ، مثل هذا:
# include < boost/beast.hpp >إذا كنت تستخدم coroutines ، فستحتاج إلى الارتباط بمكتبة Boost.Coroutine. يرجى زيارة وثائق التعزيز للحصول على تعليمات حول كيفية القيام بذلك لنظام الإنشاء الخاص بك.
لاستخدام أحدث إصدار رسمي من Beast ، ما عليك سوى الحصول على أحدث توزيع Boost واتبع التعليمات لدمجها في بيئة التطوير الخاصة بك. إذا كنت ترغب في إنشاء الأمثلة والاختبارات ، أو إذا كنت ترغب في معاينة التغييرات والميزات القادمة ، فإنه يُقترح استنساخ "Boost Superproject" والعمل مع Beast "في الشجرة" (بمعنى ، الدليل الفرعي Libs/Beast للمشرقة الفائقة).
يحتوي المستودع الرسمي على الفروع التالية:
يتقن هذا المدى الأحدث لقطة مع رمز معروف بأنه مستقر.
تطوير هذا يحمل أحدث لقطة. قد يحتوي على رمز غير مستقر.
يتطلب كل من هذه الفروع فرع دفعة مقابلة وجميع مشاريعه الفرعية. على سبيل المثال ، إذا كنت ترغب في استخدام إصدار Master Branch من Beast ، فيجب عليك استنساخ المشروع الفائق Boost ، والتبديل إلى الفرع الرئيسي في المشروع الفائق والحصول على جميع مكتبات Boost المقابلة لهذا الفرع بما في ذلك الوحش.
لاستنساخ المشروع الفائق محليًا ، والتحول إلى دليل المشروع الرئيسي:
git clone --recursive https://github.com/boostorg/boost.git
cd boost
يستخدم "Bjam" لبناء Beast و Boost Libraries. على نظام غير Windows ، استخدم هذا الأمر لبناء 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-windowsباستخدام المشروب:
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 $HOMEتأكد من أن أداة BJAM (التي تسمى أيضًا "B2") متوفرة في المسار الذي تستخدمه Shell للعثور على الموظفين التنفيذيين. يقع مشروع الوحش في "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 في Wiki Boost.
يمكن استخدام CMake لإنشاء حل Visual Studio لطيف للغاية ومجموعة من ملفات مشروع Visual Studio باستخدام هذه الأوامر:
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
يرجى الإبلاغ عن المشكلات أو الأسئلة هنا: https://github.com/boostorg/beast/issues
إذا كنت ترغب في المساهمة في الوحش ومساعدتنا في الحفاظ على جودة عالية ، ففكر في إجراء مراجعات التعليمات البرمجية على طلبات السحب النشطة. أي ملاحظات من المستخدمين وأصحاب المصلحة ، وحتى أسئلة بسيطة حول كيفية عمل الأشياء أو لماذا تم القيام بها بطريقة معينة ، وتحمل القيمة ويمكن استخدامها لتحسين المكتبة. توفر مراجعة الكود هذه الفوائد:
يمكنك النظر في طلبات السحب المغلقة للحصول على فكرة عن كيفية إجراء المراجعات. لإعطاء مراجعة رمز ، فقط قم بتسجيل الدخول مع حساب GitHub الخاص بك ثم إضافة تعليقات إلى أي طلبات سحب مفتوحة أدناه ، لا تخجل!
https://github.com/boostorg/beast/pulls
فيما يلي بعض الموارد لمعرفة المزيد حول مراجعات التعليمات البرمجية:
يزدهر الوحش على مراجعات التعليمات البرمجية وأي نوع من التعليقات من المستخدمين وأصحاب المصلحة حول واجهاته. حتى إذا كان لديك أسئلة فقط ، فإن طرحها في مراجعة التعليمات البرمجية أو في القضايا يوفر معلومات قيمة يمكن استخدامها لتحسين المكتبة - لا تتردد ، فلا شك أنه غير مهم أو غير مهم!