使用 socket.io 中的对象

Working with objects in socket.io

这是我的 app.js

redis.on('message', function(channel, message) {

    //console.log('Redis: Message on ' + channel + ' received!');
    //
    //message1 = JSON.parse(message).object;
    //console.log(message1);
    //console.log(message1.question_model_user_id);

    message = JSON.parse(message);
    io.emit('new', message);

});

console.log('user connected');

socket.on('disconnect', function(){
    console.log('user disconnected');
});

现在是我的客户端脚本

var socket = io('http://localhost:3000');

socket.on('new',function(data){
    $.each( data, function( key, value ) {
        console.log(value);
      //$.each( value, function( key, value1 ) {
      //    $.each( value1, function( key, value3 ) {
      //        console.log(key);
      //    });
      //});
    });

现在用户A有1个对象,用户B有0个对象。每当 A 刷新页面时,B 应该得到一个对象,但我得到了很多对象,因为如果用户 A 只刷新页面一次,相同的对象会像 +1 一样增加。

使用 io.socket 而不是 io.emit 发射对象一次