WebSockets كخدمة
منصة الوقت الحقيقي المُدارة وراء دردشة foony.com وبياناته الحية، متاحة لكل مطور على foony.io.
تُبقي خدمة WebSocket اتصالًا دائمًا مفتوحًا بين خوادمك وكل عميل متصل، فتصل التحديثات في لحظة حدوثها بدلًا من انتظار تحديث الصفحة التالي. يتولى Foony Realtime عنك الأجزاء غير البراقة: الاتصالات وإعادة الاتصال والتوزيع والحضور وسجل الرسائل، كلها خلف SDK صغير واحد.
جرّبها مباشرة
كل ما في الأسفل يعمل الآن مقابل الخدمة الإنتاجية على realtime.foony.io. افتح هذه الصفحة في علامة تبويب ثانية وشاهد كيف تعكس كل منهما الأخرى.
الحضور والمؤشرات الحية
كل من يقرأ هذه الصفحة يظهر هنا، مباشرة من حضور القناة. تنتقل مواضع المؤشرات كرسائل عابرة، وهي الطبقة منخفضة زمن الاستجابة التي تتخطى التخزين تمامًا.
دردشة حية
هذه هي الدردشة الحقيقية لهذه الصفحة، غرفة @foony/chat نفسها التي تعمل عليها كل صفحات Foony وغرف الألعاب. تصل الرسائل عبر قناة واحدة مع سجل، وتمر عمليات الإرسال عبر خادم Foony لتخضع كل رسالة للإشراف.
لم يقل أحد شيئًا مؤخرًا. كن كاسر الجليد.
مزامنة قاعدة البيانات
هذا هو خط الإنتاج الفعلي في foony.com: اكتب أي اسم مستخدم في Foony وسيتدفق صف Postgres العام الخاص به عبر WebSocket الموقع، ثم يستمر في التحديث مباشرة أثناء لعبه. لا استطلاع، ولا نقطة نهاية API.
جارٍ البحث…
لماذا تشتري الفرق WebSockets بدلًا من بنائها
- إعادة اتصال لا تفقد الرسائل. تقطع المتصفحات الاتصالات باستمرار. يستأنف العملاء من حيث توقفوا مع إعادة تشغيل السجل، فالاتصال المتقطع لا يعني رسائل مفقودة.
- توزيع على نطاق واسع. إيصال رسالة واحدة إلى مئة ألف مشترك في أقل من ثانية مشكلة صعبة في الأنظمة الموزعة. هنا، هي كل المهمة.
- حضور دون مسك سجلات. شاهد من هو متصل الآن وتفاعل مع أحداث الدخول والتحديث والمغادرة، دون كتابة منطق نبضات القلب والمهلات الخاص بك.
- لا تخطيط للسعة. خوادم WebSocket ذات حالة، لذا فإن توسيعها بنفسك يعني التصريف والتجزئة والتوجيه اللاصق. الخدمة المُدارة تجعل ذلك عبء شخص آخر.
ماذا تحصل عليه مع Foony Realtime
القنوات والنشر/الاشتراك
وزّع أحداثًا مُسمّاة عبر WebSocket أو REST إلى قنوات ضمن نطاق التطبيق (مثل chat:lobby) بدلالات توصيل يمكن التنبؤ بها.
الحضور
تتبّع من هو متصل، وحدّث العضوية تلقائيًا، وتفاعل مع أحداث الدخول والتحديث والمغادرة.
سجل الرسائل
أعد تشغيل الرسائل الأخيرة من تخزين دائم ليتعافى العملاء بسلاسة بعد إعادة الاتصال.
مصادقة بالرموز
أنشئ رموز عملاء قصيرة الأجل من خادمك الخلفي بصلاحيات النشر والاشتراك والحضور والسجل على مستوى القناة.
متوافق مع Pusher
يتحدث بروتوكول Pusher، فتتصل تطبيقات pusher-js وLaravel Echo بتغيير في الإعدادات بدلًا من إعادة الكتابة.
مزامنة قاعدة البيانات
بث تغييرات Postgres مباشرة إلى العملاء المشتركين كاستعلامات حية، دون استطلاع ودون شيفرة ربط.
التكامل بأكمله بضعة أسطر:
const realtime = new Realtime({ authCallback });
const channel = realtime.channels.get('chat:lobby');
channel.on((message) => {
showMessage(message.data);
});
await channel.publish('message', { text: 'hello' });
await channel.presence.enter({ name: 'Acorn' });مُختبَر في ألعاب حقيقية
يعتمد Foony اعتمادًا كبيرًا على Foony Realtime في الدردشة وتحديثات قاعدة البيانات الفورية. يعتمد نحو 1.5 مليون لاعب شهريًا على foony.io لتبادل ما يقارب 500 مليون رسالة، واللعبة متعددة اللاعبين لا تُحسّ بأنها صحيحة إلا حين تصل تلك الرسائل بسرعة، وبالترتيب، ومرة واحدة تمامًا. ما كان Foony ليصبح ممكنًا لولا موثوقية foony.io وكفاءته من حيث التكلفة.
شاهدها وهي تعمل في أي من ألعابنا، ثم احصل على البنية التحتية نفسها مع لوحة تحكم و SDK على foony.io.

جرّبها على حركتك أنت
تتضمن الباقة المجانية 9 ملايين رسالة شهريًا. لا حاجة لبطاقة ائتمان.
الأسئلة الشائعة
ما هي WebSockets كخدمة؟
منصة مُدارة تتولى إدارة الاتصالات الدائمة بين تطبيقك ومستخدميه. بدلًا من تشغيل خوادم WebSocket خاصة بك، يتصل عملاؤك بالخدمة، وينشر الخادم الخلفي الرسائل إلى القنوات عبر SDK أو REST، وتتولى الخدمة التوصيل وإعادة الاتصال والحضور والسجل.
بماذا يختلف Foony Realtime عن Pusher أو Ably؟
يغطي المجال الأساسي نفسه من القنوات والحضور والسجل ومصادقة الرموز، ويتحدث بروتوكول Pusher، فيعمل كبديل جاهز لـ Pusher. الفرق في الأصل والسعر. فقد بُني لأجل foony.com، موقع ألعابنا متعدد اللاعبين، وتتضمن الباقة المجانية 9 ملايين رسالة شهريًا.
هل عليّ إعادة كتابة تطبيقي للتبديل؟
غالبًا لا. يمكن لتطبيقات pusher-js و Laravel Echo التوجه إلى Foony Realtime بتغيير في الإعدادات. تستخدم المشاريع الجديدة @foony/realtime SDK لـ JavaScript و TypeScript، أو Go SDK، أو REST API من أي لغة.
كم تبلغ التكلفة؟
تتضمن الباقة المجانية 9 ملايين رسالة شهريًا. تضيف الباقات المدفوعة سعة شهرية، ويُحتسب الاستخدام فوق باقتك لكل مليون رسالة. الأرقام الحالية متوفرة على foony.io/pricing.