0

如果我从服务器端发出,代码只能在客户端以“on”响应?

我的问题是,如果用户登录,他会获得一个特定的用户列表作为对象。

假设 A 登录,这将获得一个包含用户 B、G 和 X 内容的自定义对象。现在的问题是,用户 B、G 和 X 各自也有一个自定义对象。当然,一切都在服务器端。

现在我尝试了一个服务器端的发送来发送给这些用户。这个发出的也应该在服务器端接收到。但是,它不起作用。

我尝试过这样的事情

io.sockets.on('connection', function(socket){
    socket.on('login', function(){
            for(var key in specific_object){
                specific_object[key].emit('add user');
            }
    });

    socket.on('add user', function(data){
            console.log("now please....");
    });
 });

希望有人可以帮助我:)

更新

在此处输入图像描述.jpg)

4

1 回答 1

0

如果我理解正确,您可以创建一个函数并从事件loginadd user事件中调用它:

function addUser(socket, data) {
    console.log("now please....");
    //do something with socket and passed data
}

io.sockets.on('connection', function(socket){
    socket.on('login', function(){
        for(var key in specific_object){
            //specific_object[key].emit('add user');
            addUser(specific_object[key], {your: 'data'});
        }
    });

    socket.on('add user', function(data){
        addUser(socket, data);
    });
});
于 2014-06-22T10:44:51.980 回答