مكون الاتصال الموزع Channel
(يتطلب إصدار Workerman >= 3.3.0)
رابط مصدر الشيفرة: https://github.com/walkor/Channel
Channel هو مكون اتصال موزع، يستخدم لإجراء الاتصالات بين العمليات أو بين الخوادم.
الميزات
-
يعتمد على نموذج النشر والاشتراك
-
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.