Я только начал собирать socket.io. Я пытаюсь использовать его в angular.js, и все работает нормально. Тем не менее, он продолжает возвращаться несколько разПочему socket.io возвращает несколько раз для события
в моем controller.js
socketio.emit('GameOver',$scope.currentPlayer.Name);
socketio.on('GameOverEmit',function(data){
if(data === $rootScope.user.user_name){
var result = {
opponent : rdyplayers.user_name,
result : "won"
};
// keep getting multiple result
console.log(result);
}else{
var result = {
opponent : rdyplayers.user_name,
result : "lose"
};
// keep getting multiple result
console.log(result);
}
});
В моем server.js
io.sockets.on('connection', function (client) {
client.user_name = user.user_name;
//Useful to know when someone connects
console.log('\t socket.io:: player ' + client.user_name + ' connected');
// playerturn
client.on('PlayerTurn',function(data){
io.emit('PlayerTurnEmit',data);
});
// game over
client.on('GameOver',function(data){
io.emit('GameOverEmit',data);
});
// button disabled
client.on('PlayerButtonDisabled',function(data){
io.emit('PlayerButtonDisabledEmit',data);
});
//When this client disconnects
client.on('disconnect', function() {
//Useful to know when someone disconnects
console.log('\t socket.io:: client disconnected ' + client.user_name);
io.emit("disconnected",client.user_name);
}); //client.on disconnect
}); //io.sockets.on connection
Могу ли я с помощью Socket.io в правильном пути? Чтобы транслировать данные всем, я просто передаю данные в emit
и передаю данные, переданные с помощью on
, например, передают данные на сервер и передают их обратно в интерфейс.
Спасибо, что это решило мою проблему. –
@ Love-Kesh рад, что это помогает! rmb, чтобы ответить на вопрос или ответ! –
@JohnLim Ты потрясающий человек !! работая над этим вопросом за последние два дня. много пробовал. Наконец, это работает. – srbhbarot