socket.io不发送数据

socket.io不发送数据

问题描述:

我正在与用户列表进行聊天。socket.io不发送数据

我命令,在每个用户的Connexion我做从服务器以下动作发送用户列表:

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]} 

任何想法?

是您的socket.handshake.address的数值吗?

我想你想users是一个对象,并通过添加为socket.handshake.address财产你的数据({username : username, color: "#"+((1<<24)*Math.random()|0).toString(16)})作出哈希图。

+0

就是这样,我使用'socket.handshake.address'作为关联数组的键,但它显然没有奏效。所以我把它设置为数据的属性:''user.push({ip:socket.handshake.address,username:username,color:“#”+((1 Senorihl 2014-09-21 15:10:38