socket.io不发送数据

时间:2014-09-21 13:21:24

标签: javascript node.js socket.io

我正在与用户列表进行聊天。

我命令在每个用户连接上发送用户列表我从服务器执行以下操作:

io.on('connection', function (socket) {

    var users = [];

    socket.on('user connexion', function (username) {

        if (typeof users[socket.handshake.address] == "undefined" ) {
            users[socket.handshake.address] = [];
        }

        users[socket.handshake.address].push({username : username, color: "#"+((1<<24)*Math.random()|0).toString(16)});

        console.log(users);

        io.emit('user connexion',  {userlist : users});

    });

}

并在前端脚本中执行:

socket.on('user connexion', function(userList){

    console.log(userList);
});

但控制台显示:

Object {userlist: Array[0]}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的socket.handshake.address是否为数值?

我认为你希望users成为一个Object,并通过添加socket.handshake.address属性({username : username, color: "#"+((1<<24)*Math.random()|0).toString(16)})来制作哈希图。