7. تشغيل خادم WebSocket:

  1. قم بتشغيل خادم PHP WebSocket من سطر الأوامر:
   php websocket_server.php
  1. افتح عميل HTML في المتصفح، وسيتم إنشاء اتصال WebSocket. يمكنك إرسال رسائل بين العميل والخادم في الوقت الحقيقي.

8. التحسينات مع المكتبات:

بينما يوفر الكود أعلاه خادم WebSocket أساسي، فمن المستحسن استخدام مكتبات مثل Ratchet أو Swoole للتطبيقات على مستوى الإنتاج، والتي توفر قابلية التوسع والأمان وإدارة WebSocket بشكل أفضل .

خاتمة:

يتيح إنشاء تطبيقات في الوقت الفعلي باستخدام WebSockets في PHP تجارب مستخدم تفاعلية وجذابة. سواء كنت تقوم بإنشاء تطبيق دردشة أو إشعارات في الوقت الفعلي، فإن WebSockets توفر قناة اتصال قوية منخفضة زمن الوصول بين الخادم والعملاء.

","image":"http://www.luping.net/uploads/20240918/172665793066eab58acb24d.jpg","datePublished":"2024-11-02T13:35:52+08:00","dateModified":"2024-11-02T13:35:52+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > بناء تطبيقات في الوقت الفعلي باستخدام PHP باستخدام WebSockets

بناء تطبيقات في الوقت الفعلي باستخدام PHP باستخدام WebSockets

تم النشر بتاريخ 2024-11-02
تصفح:400

Building Real-Time Applications with PHP Using WebSockets

يسمح إنشاء تطبيقات في الوقت الفعلي باستخدام WebSockets في PHP بالاتصال المستمر ثنائي الاتجاه بين العميل والخادم. تعد WebSockets مفيدة بشكل خاص في سيناريوهات مثل تطبيقات الدردشة المباشرة والإشعارات والألعاب متعددة اللاعبين والخدمات التفاعلية الأخرى حيث يكون الاتصال في الوقت الفعلي أمرًا بالغ الأهمية.

إليك مخطط تفصيلي لكيفية إنشاء خادم WebSocket بلغة PHP وكيفية دمجه في تطبيق في الوقت الفعلي:

خطوات إنشاء تطبيق في الوقت الفعلي باستخدام WebSockets في PHP

1. ما هو WebSocket؟

WebSocket هو بروتوكول يوفر اتصالاً مزدوجًا كاملاً بين الخادم والعملاء عبر اتصال TCP واحد طويل الأمد. فهو يسمح بإرسال الرسائل من وإلى الخادم دون تحميل طلبات HTTP التقليدية.

2. لماذا نستخدم WebSockets؟

  • تحديثات في الوقت الفعلي: مثالية للتطبيقات التي تتطلب تعليقات فورية.
  • اتصال فعال: يحافظ على اتصال مفتوح، مما يلغي الحاجة إلى طلبات HTTP المتكررة.
  • زمن استجابة منخفض: أداء أفضل من حيث السرعة واستخدام الموارد مقارنة بطرق الاقتراع التقليدية أو طرق الاقتراع الطويلة.

3. تدفق اتصالات WebSocket

  • يفتح العميل الاتصال: يرسل العميل مصافحة WebSocket إلى الخادم.
  • يسلم الخادم: يستجيب الخادم للمصافحة، ويتم إنشاء اتصال WebSocket.
  • الرسائل المتبادلة: يمكن لكل من العميل والخادم إرسال الرسائل في أي وقت.
  • تم إغلاق الاتصال: يمكن لأي من العميل أو الخادم إغلاق الاتصال عند الانتهاء.

4. إعداد خادم WebSocket في PHP

لا يدعم PHP WebSockets أصلاً، ولكن يمكنك استخدام برنامج PHP النصي أو المكتبات مثل Ratchet أو Swoole لإنشاء خادم WebSocket.

إليك كيفية إنشاء خادم WebSocket أساسي باستخدام PHP بدون مكتبات إضافية:

4.1. خادم WebSocket الأساسي في PHP


5. كيف يعمل خادم WebSocket:

  1. إنشاء المقبس: نقوم بإنشاء مقبس خادم باستخدام المقبس ()socket_create، وربطه بعنوان IP والمنفذ باستخدام المقبس ()socket_bind.
  2. الاستماع: يستمع الخادم للاتصالات الواردة باستخدام المقبس_listen().
  3. التعامل مع العميل: عندما يتصل عميل جديد، فإننا نقبل الاتصال باستخدام المقبس ()socket.
  4. مصافحة WebSocket: بعد قبول الاتصال، نقوم بإجراء مصافحة WebSocket لإنشاء اتصال باستخدام Sec-WebSocket-Key.
  5. الاتصال: بمجرد نجاح المصافحة، يقرأ الخادم البيانات الواردة من العميل ويقوم بفك تشفير إطار WebSocket. ثم يقوم بمعالجة الرسالة وإرسال الرد إلى كافة العملاء المتصلين.
  6. معالجة قطع الاتصال: في حالة قطع اتصال العميل، يقوم الخادم بإغلاق المقبس لذلك العميل.

6. جانب العميل:

يمكنك استخدام JavaScript في المتصفح لتأسيس اتصال WebSocket بخادم PHP WebSocket الخاص بك.



    
    WebSocket Example


    

WebSocket Client


7. تشغيل خادم WebSocket:

  1. قم بتشغيل خادم PHP WebSocket من سطر الأوامر:
   php websocket_server.php
  1. افتح عميل HTML في المتصفح، وسيتم إنشاء اتصال WebSocket. يمكنك إرسال رسائل بين العميل والخادم في الوقت الحقيقي.

8. التحسينات مع المكتبات:

بينما يوفر الكود أعلاه خادم WebSocket أساسي، فمن المستحسن استخدام مكتبات مثل Ratchet أو Swoole للتطبيقات على مستوى الإنتاج، والتي توفر قابلية التوسع والأمان وإدارة WebSocket بشكل أفضل .

  • Ratchet: مكتبة PHP شائعة لـ WebSockets تتعامل مع التوجيه وإطارات WebSocket والاتصالات المتعددة بكفاءة.
  • Swoole: امتداد PHP عالي الأداء يعتمد على coroutine ويدعم خوادم WebSocket مع عمليات الإدخال/الإخراج المستندة إلى الأحداث. إنه يحسن الأداء والتزامن بشكل ملحوظ.

خاتمة:

يتيح إنشاء تطبيقات في الوقت الفعلي باستخدام WebSockets في PHP تجارب مستخدم تفاعلية وجذابة. سواء كنت تقوم بإنشاء تطبيق دردشة أو إشعارات في الوقت الفعلي، فإن WebSockets توفر قناة اتصال قوية منخفضة زمن الوصول بين الخادم والعملاء.

بيان الافراج هذه المقالة مستنسخة على: https://dev.to/mdarifulhaque/building-real-time-applications-with-php-using-websockets-10nm?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3