مكون الاتصال الموزع Channel

(يتطلب إصدار Workerman >= 3.3.0)

رابط مصدر الشيفرة: https://github.com/walkor/Channel

Channel هو مكون اتصال موزع، يستخدم لإجراء الاتصالات بين العمليات أو بين الخوادم.

الميزات

  1. يعتمد على نموذج النشر والاشتراك

  2. IO غير حاصرة

المبدأ

يتضمن Channel كل من Channel/Server كخادم وChannel/Client كعميل

يتصل Channel/Client بـ Channel/Server عبر واجهة connect ويحافظ على اتصال طويل الأمد

يقوم Channel/Client بإخبار Channel/Server عن الأحداث التي يراقبها من خلال استدعاء واجهة on، ويسجل دوال رد النداء (تحدث ردود النداء في العملية التي يوجد بها Channel/Client)

ينشر Channel/Client حدثًا معينًا وبيانات تتعلق بالحدث إلى Channel/Server عبر واجهة publish

بعد أن يستقبل Channel/Server الحدث والبيانات، يقوم بتوزيعها على Channel/Client الذي يراقب هذا الحدث

يحفز Channel/Client رد النداء المحدد بواسطة واجهة on عند استقبال الحدث والبيانات

سيتلقى Channel/Client فقط الأحداث التي يراقبها ويحفز رد النداء

التثبيت

composer require workerman/channel

ملاحظة

يمكن استخدام Channel فقط في بيئة workerman، ولا يمكن استخدامه في بيئة php-fpm.