سلام
بخشی از کد سرور:
var http = require('http').Server(app);
var io = require('socket.io')(http);
io.on('connection', function(socket){
socket.on('change cell', function(cellObj){
socket.broadcast.emit('change cell', cellObj);
});
socket.on('focus cell', function(focusObj){
socket.broadcast.emit('focus cell', focusObj);
});
socket.on('blur cell', function(blurObj){
socket.broadcast.emit('blur cell', blurObj);
});
});
http.listen(۸۰۰۰, function(){
console.log('listening on *:۸۰۰۰');
});
بخشی از کد کلاینت:
دریافت:
import openSocket from 'socket.io-client';
const socket = openSocket('http://localhost:۸۰۰۰');
socket.on('change cell', function(cellObj){
console.log("cellObj")
Control.changeEvent(cellObj);
});
socket.on('focus cell', function(focusObj){
console.log("focusObj")
Control.focusEvent(focusObj)
});
socket.on('blur cell', function(blurObj){
Control.blurEvent(blurObj)
});
انتشار:
import openSocket from 'socket.io-client';
const socket = openSocket('http://localhost:۸۰۰۰');
socket.emit('change cell', {row, column , value , changer:ID , readOnly:true});
socket.emit('focus cell', {row, column , readOnly:true});
socket.emit('blur cell', {row, column , readOnly:false});
ارسال کننده رویداد در سمت کلاینت موقع انتشار توسط خودش هم رویداد رو دریافت میکنه با اینکه از broadcast استفاده شده.
حل این مشکل چی کار کنم؟
و لطفا اگه real-time library خوب دیگه ای که از قابلیت broadcast سوکت دات یو پشتیبانی میکنه معرفی کنید( البته مثل engine.io روی socket.io ساخته نشده باشه).
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟