ناشناس

سوال 2733

تفاوت socket.send با socket.emit در socket.io

ثبت پاسخ جدید

برای ثبت پاسخ، لطفا وارد حساب کاربری خود شوید.

پاسخ‌ها

1 پاسخ
هر دو متد برای ارسال پیام به کلاینت استفاده میشه فقط تفاوت این دو متد اینه که شما با استفاده از emit میتونید به رویداد کاستوم شده ی خودتون پیام ارسال کنید . 
برای نمونه شما میخوایید برای رویدادی به نام myEvent  پیام ارسال کنید .
توجه کنید که این رویداد برای socket  تعریف نشده ست و خودتون این رویداد رو ایجاد کردید . 
برای ارسال پیام به این رویداد شما باید از emit  به صورت زیر استفاده کنید 
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

io.on('connection', function(socket) {
console.log('A user connected');

//Send a message when
setTimeout(function() {
//Sending an object when emmiting an event
socket.emit('myEvent', { description: 'A custom event named testerEvent!'});
}, 4000);

});

http.listen(3000, function() {
console.log('listening on localhost:3000');
});