اذهب إلى المحتوى
  • 0

ما هي أفضل الخدمات والمنصات التي يمكن استعمالها لإنشاء تطبيق محادثات بين طرفين؟

Ali Mezher

السؤال

Recommended Posts

  • 0

نعم يمكنك توظيف واجهات البرامج التي تستعمل تقنيات وبروتوكول الويب سوكيت لخدمة هذا الغرض، وهو بروتوكول ويب يوفر اتصالا دائما بين الخادم والمتصفح. فكل مرة يستقبل فيها الخادم رسالة جديدة مثلا من الطرف A يقوم مباشرة بتنبيه الطرف B الذي يقوم بدوره بعرض البيانات الممررة في شكل رسالة او تنبيه مثلا.

تفصيل: 

  • يشترك كل من A و B في قناة ولتكن مثلا ConversationChannel. 
  • هاته القناة تحتوي أحداثا معينة، مثل: ReceivedMessageEvent, ClientIsTypingEvent.
  • يستمع كل من A و B لهاته الأحداث. 
  • عندما يرسل A الى B رسالة فان مسار هاته الرسالة سيكون عبر هاته القناة ليستهدف حدثا معينا فيها. 
  • يقوم الخادم بالتقاط استهداف A للحدث ويقوم بتمرير البيانات الممررة عبر القناة. 
  • بما ان B مشترك في القناة ويستمع للحدث فانه سيلتقط اية بيانات ممررة عبر هذا الحدث. 
  • يقوم تطبيقك على المتصفح بالتقاط هذا الحدث ونمذجة البيانات وفق أي شكل من الأشكال.

نذكر الأكثر شيوعا socket.io، وهي مكتبة مفتوحة المصدر تقدم كامل خدماتها بشكل مجاني. مناسبة جدا للتطبيقات المبنية على أطر عمل الجافاسكربت ومكتباتها. بجانب أنها توفر حلولا سهلة لأغلب استعمالات هذا البروتوكول.

يوجد أيضا pusher والذي يعتبر سهلا بشكل واضح مقارنة ب socket.io ، شائع استخدامه في تطبيقات اللارافيل على الـ PHP رغم انه يوفر وصولا سهلا وتوثيقا موضحا في اغلب اطر العمل الموجودة على الساحة. 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

في حال كنت تستخدم Laravel Framework :

يجب الربط مع خدمة pusher التي تعتمد على websocket

ايضاً يمكنك الاعتماد على خاصية Broadcast ، بحيث تتعرف على كامل الاجراءات التي تحدث خلال ارسال واستقبال الرسائل .

خدمة pusher بتوفرلك API ، بإمكانك ربطها في ملف env ، ستجد هناك متغيرات كهذه 

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=

ملخص الحديث أن ال pusher بتوفرلك RealTime MSG ، وهذا المطلوب في المحاثات أنت تريد أن يتم المراسلة تحت بند  RealTime

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...