"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استبعاد المرسل من عمليات البث الخاصة بـSocket.IO؟

كيفية استبعاد المرسل من عمليات البث الخاصة بـSocket.IO؟

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

How to Exclude the Sender from Socket.IO Broadcasts?

إرسال الرد إلى جميع العملاء باستثناء المرسل

لبث رسالة إلى جميع العملاء المتصلين، فإن وظيفة io.sockets.emit() هي مستخدم. ومع ذلك، عندما تريد استبعاد المرسل من تلقي البث، قد تتساءل عن أسلوب أكثر وضوحًا من التحقق من معرف المرسل من جانب العميل.

في المقبس.IO، توفر خاصية المقبس.broadcast حل لهذا السيناريو. باستخدام المقبس.broadcast.emit()، يمكنك إرسال رسالة إلى كافة العملاء باستثناء المرسل. إليك مثال:

socket.on('cursor', function(data) {
  socket.broadcast.emit('response', data);
});

في هذا المثال، عندما يرسل العميل حدث "المؤشر"، يقوم الخادم ببث البيانات المستلمة إلى جميع العملاء المتصلين الآخرين، باستثناء المرسل.

إليك ملخص المقبس وظائف .IO تنبعث للرجوع إليها:

  • socket.emit (): يرسل رسالة إلى العميل المرسل فقط.
  • io.emit (): يرسل رسالة إلى الجميع العملاء، بما في ذلك المرسل.
  • socket.broadcast.emit(): يرسل رسالة إلى جميع العملاء باستثناء المرسل.
  • socket.broadcast.to(): يرسل رسالة إلى جميع العملاء في غرفة أو قناة محددة، باستثناء المرسل.
  • socket.to(): يرسل رسالة إلى العميل المرسل، فقط إذا كانوا في غرفة أو قناة معينة.
  • io .in(): يرسل رسالة إلى جميع العملاء في غرفة أو قناة معينة، بما في ذلك المرسل.
  • socket.broadcast.to(socketid): يرسل رسالة إلى معرف عميل محدد.
  • io.of(): يرسل رسالة إلى جميع العملاء في مساحة اسم محددة، بما في ذلك المرسل.
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3