MessageBus - كيفية إعداد Messagebus باستخدام Dart-Flutter

أهلاً بالجميع،

أنا أقوم بإنشاء تطبيق جوال يستخدم Discourse للحصول على البيانات ونشرها. في الوقت الحالي، أقوم بإجراء طلب كل 30 ثانية لمعرفة ما إذا كانت هناك مشاركات جديدة في موضوع ما. يبدو أن هذا قد يضر بمنتدانا عن طريق التسبب في هجوم حجب الخدمة (d-dosing) عن طريق الخطأ.

لقد كنت أبحث عن حل جيد باستخدام WebSockets في Flutter، ولكن لم أجد شيئًا بعد. بالنسبة لـ Discourse، صادفت MessageBus، والذي لديه وثائق مربكة.

ومع ذلك، لدينا MessageBus معد على منتدانا كما هو موضح في طلب الاستطلاع هذا:
image

لذا سؤالي هو ما إذا كان لدى أي شخص أي فكرة عن كيفية حل هذه المشكلة ولديه أي خبرة في استخدام MessageBus أو Flutter Websockets.

إعجاب واحد (1)

MessageBus هو خيار - يمكنك العثور على مكتبات العملاء لـ Ruby و JS هنا: GitHub - discourse/message_bus: A reliable and robust messaging bus for Ruby and Rack

ولكن من المحتمل أن يكون الحل الأبسط هو استخدام ميزة WebHooks الخاصة بـ Discourse. بهذه الطريقة، يمكن لـ Discourse إجراء طلب ويب إلى نقطة النهاية الخاصة بك كلما كان هناك موضوع/منشور جديد. يمكنك العثور على مزيد من المعلومات هنا:

5 إعجابات

لا أرى كيف يمكن أن تكون خطافات الويب (webhooks) مرتبطة أو مفيدة على الإطلاق لواجهة Flutter الأمامية.

يبدو أن ما يبحث عنه المؤلف الأصلي هو تطبيق Dart لعميل MessageBus… والذي قد يتطلب هندسة عكسية من كود جافاسكريبت هذا. قد يكون هناك بديل آخر وهو تشغيل كود جافاسكريبت داخل Dart، ثم تغليفه بروابط لترجمة من جافاسكريبت إلى Dart. يجب أن يكون النقل المباشر إلى Dart هو الأكثر أداءً بين هذين الخيارين.

يرجى تصحيحي إذا كنت مخطئًا. هذا ليس شيئًا تعمقت فيه، لكنني أعتقد أن فكرة واجهة Flutter الأمامية مثيرة للاهتمام.

3 إعجابات

ستكون الفكرة هي ردود النداء (Webhooks) → الواجهة الخلفية الخاصة بك → التطبيق الخاص بك. لذا، لن يتلقى التطبيق ردود النداء مباشرة.

4 إعجابات