النشر/الاشتراك بين العملاء

GIF من pub/sub بين العملاء الذين ليس لديهم خادم تطبيق.

يوضح دليل التشغيل السريع هذا كيفية

  • الاتصال بمورد Web PubSub
  • الاشتراك في الرسائل من المجموعات
  • نشر الرسائل إلى المجموعات

المتطلبات الأساسية

  • مورد Web PubSub. إذا لم تكن قد أنشأت واحدا، يمكنك اتباع الإرشادات: إنشاء مورد Web PubSub
  • محرر تعليمات برمجية؛ مثل: Visual Studio Code
  • تثبيت التبعيات للغة التي تخطط لاستخدامها

تثبيت SDK للعميل

ملاحظة

يستخدم هذا الدليل عميل SDK الذي توفره خدمة Web PubSub، والتي لا تزال قيد المعاينة. قد تتغير الواجهة في الإصدارات اللاحقة.

mkdir pubsub_among_clients
cd pubsub_among_clients

# The SDK is available as an NPM module.
npm install @azure/web-pubsub-client

الاتصال ب Web PubSub

يستخدم العميل، مثل متصفح 💻أو تطبيق 📱الأجهزة المحمولة أو جهاز 💡IoT، عنوان URL الخاص ب Client Access للاتصال بالمورد والمصادقة عليه. يتبع عنوان URL هذا نمطا من wss://<service_name>.webpubsub.azure.com/client/hubs/<hub_name>?access_token=<token>. يمكن أن يكون لدى العميل بعض الطرق للحصول على عنوان URL الخاص ب Client Access. لهذه البداية السريعة، يمكنك نسخ ولصق واحد من مدخل Microsoft Azure الموضح في الرسم التخطيطي التالي. من أفضل الممارسات عدم كتابة تعليمات برمجية صعبة على عنوان URL الخاص ب Client Access في التعليمات البرمجية الخاصة بك. في عالم الإنتاج، نقوم عادة بإعداد خادم تطبيق لإرجاع عنوان URL هذا عند الطلب. يصف إنشاء عنوان URL لوصول العميل الممارسة بالتفصيل.

يوضح الرسم التخطيطي كيفية الحصول على عنوان URL للوصول إلى العميل.

كما هو موضح في الرسم التخطيطي أعلاه، لدى العميل أذونات لإرسال الرسائل والانضمام إلى مجموعة معينة تسمى group1.

إنشاء ملف باسم index.js وإضافة التعليمات البرمجية التالية

const { WebPubSubClient } = require("@azure/web-pubsub-client");

// Instantiate the client object. 
// <client-access-url> is copied from Azure portal mentioned above.
const client = new WebPubSubClient("<client-access-url>");

الاشتراك في مجموعة

لتلقي الرسائل من المجموعات، العميل

  • يجب أن تنضم إلى المجموعة التي ترغب في تلقي الرسائل منها
  • لديه رد اتصال للتعامل مع group-message الحدث

تظهر التعليمات البرمجية التالية عميلا يشترك في رسائل من مجموعة تسمى group1.

// ...code from the last step

// Provide callback to the "group-message" event. 
client.on("group-message", (e) => {
  console.log(`Received message: ${e.message.data}`);
});

// Before joining group, you must invoke start() on the client object.
client.start();

// Join a group named "group1" to subscribe message from this group.
// Note that this client has the permission to join "group1", 
// which was configured on Azure portal in the step of generating "Client Access URL".
client.joinGroup("group1");

نشر رسالة إلى مجموعة

في الخطوة السابقة، قمنا بإعداد كل ما يلزم لتلقي الرسائل من group1، والآن نرسل رسائل إلى تلك المجموعة.

// ...code from the last step

// Send message "Hello World" in the "text" format to "group1".
client.sendToGroup("group1", "Hello World", "text");

الخطوات التالية

باستخدام عميل SDK، أنت الآن تعرف كيفية

  • الاتصال بمورد Web PubSub
  • الاشتراك في رسائل المجموعة
  • نشر الرسائل إلى المجموعات

بعد ذلك، ستتعلم كيفية دفع الرسائل في الوقت الحقيقي من خادم تطبيق إلى عملائك.