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

السؤال

Recommended Posts

  • 1
نشر

لا يمكنك إرسال رسائل من عميل لآخر بشكل مباشر, يجب إرسال الرسائل الى الخادم اولاً ثم يتم تمريرها الى العميل الاخر , كما في المثال بالادنى , لدينا endpoint لدى الخادم تسمى msg واللتي تأخذ parameters عبارة عن

نص الرسالة:message

معرف المرسل إليه :recieverId

 this.io.on('connection', (socket) => {
	 socket.on('msg', (message) => {
                socket.broadcast.to(data.recieverId).emit('getMsg',{
                    msg:data.msg
                });
            });

وتقم تلك الendpoint بإرسال الرسالة الى الكلاينت المطلوب من خلال الدالة broadcast.to.emit حتى يحدث fire لل event المسمى getMsgالكلاينت المرسل إليه ويستقبل الرسالة كما في المثال:

clientSocket.on("getMsg",(data)=>doSomethingWithData(data))

ويتم إرسال الرسائل من العميل الى الخادم عن طريق اطلاق الحدث msg لدى الخادم من خلال الكلاينت كما هو موضح:

socketClient.emit("msg",data);

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...