مكتبتي

شريط جانبي متعدد الجذور

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

RSocket و AsyncAPI

يشرح أولاً الطريقة الأساسية لاستخدام نقطة دخول /rsocket مباشرة. تدفق إنشاء أنواع route/request/response ووظائف الخدمة في AsyncAPI هو بعد ذلك طريقة تكامل مشروع اختيارية.


الطريقة الأساسية لاستخدام موائم RSocket.

تثبيت حزمة peer فقط في المشاريع التي تستخدم RSocket.

bash

لا يتطلب الاستخدام الأساسي مولد AsyncAPI أو WebFlux. استورد createRSocketApi من /rsocket ومرر نقطة نهاية WebSocket، ومرر JWT كمعامل ثانٍ فقط عند الحاجة إلى المصادقة. يتم إرجاع mono أو stream كـ RxJS Observable.

ts

اختياري: تكامل مشروع إنشاء الخدمة تلقائيًا باستخدام AsyncAPI.
تدفق مشابه تقريبًا لـ REST

REST هو swagger.jsonيستخدم ، بينما RSocket يستخدمasyncapi-rsocket.jsonاقرأ route ونوع التفاعل ومخطط الطلب والاستجابة من الوثيقة لإنشاء أنواع TypeScript ووظائف الخدمة.

1. أولاً: تحقق من ما هو rsocketCommonService من خلال الكود الكامل.

rsocketCommonService.ts ليس ملفًا يتم إنشاؤه تلقائيًا بواسطة المكتبة. قم بتغليف createRSocketApi مباشرة في المشروع لربطه/سياسة إعادة استخدام JWT في مكان واحد، واجعل الخدمة التي تم إنشاؤها تستورد فقط callRSocketMono/callRSocketStream. أدناه هو الكود الكامل لذلك الملف. يقرأ headerStore للخدمة العامة REST من Authorization، وإذا لم يكن موجودًا، يستدعي API الرمز مرة واحدة لإعداد JWT، وعندما يتغير JWT، يغلق الاتصال RSocket الحالي وينشئ اتصالًا جديدًا.

rsocketCommonService.ts
ts

بعد النسخ، قم بتعديل مسار استيراد headerStore وموقع AsyncApiTypes ومسار API الرمز وNEXT_PUBLIC_RSOCKET_URL ونقطة نهاية RSocket الفعلية لتناسب المشروع.

2. أدوار تكوين كود rsocketCommonService.

getRSocketUrl

يستخدم الخادم المتغيرات البيئية، بينما يقوم المتصفح بإنشاء URL ws أو wss بناءً على البروتوكول والمضيف الحالي.

fetchAuthorization

عند عدم وجود JWT في headerStore، يتم استدعاء API الرمز مع تضمين ملف تعريف الارتباط للجلسة وقراءة القيم من الحقول token وaccessToken أو jwt.

getRsoketApi

حتى مع وجود طلبات متعددة في نفس الوقت، يتم مشاركة Promise استعلام الرمز، ويتم إعادة استخدام الاتصال الحالي لنفس JWT، وعند تغيير JWT، يتم إنشاء اتصال جديد.

resetRsoketApi

عند تسجيل الخروج أو إزالة معلومات المصادقة، يتم إغلاق اتصال RSocket الحالي وإعادة تعيين JWT والعميل المخزنين.

callRSocketMono / callRSocketStream

يتم فحص الطلب والاستجابة باستخدام نوع route المُنشأ، ويتم دمج Promise إعداد الاتصال في تدفق RxJS Observable لتشغيل mono أو stream.

3. إنشاء خدمة AsyncAPI.
generateAsyncApiRSocket.cjs
js
4. استدعاء الوظائف التي تم إنشاؤها.

فيما يلي مثال عام على requestStream يستقبل تقدم معالجة عدة مهام. سلسلة route ونوع الحدث موجودان داخل الخدمة التي تم إنشاؤها.

BatchJobPage.tsx
tsx
إذا كان تفاعل AsyncAPI هو

فإن وظيفة الإنشاء هي requestResponse،callRSocketStreamإذا كان requestStreamفإنه يستخدم. 3. استدعاء الوظائف التي تم إنشاؤها.على الشاشة، كلاهما Observable ولكن stream يمكن أن يتم استدعاؤه عدة مرات. next.

© 2026 بيولناريم. جميع الحقوق محفوظة.مقدمةسياسة معالجة المعلومات الشخصية