0

我在服务器端有这个代码发送到用户从系统断开连接的客户端:

data = [usuariosConectados,socket.nickname];
io.sockets.emit('usuarioDesconectado',data);

在客户端我有这个:

websocket.on("usuarioDesconectado",procesarUsuarios);

function procesarUsuarios (mensaje)
{
console.log(mensaje);
    $('#users').html('');
for(u=0; u<mensaje.length; u++)
{
    for(var user in mensaje[u])
    {
        $('#users').append($('<p>').text(mensaje[u][user]));
    }
}
}

console.log(mensaje)表明:

[{hola:"hola", lol:"lol"}, "Oscar"]

有了这个,我知道用户 Oscar 不在系统中,hola 和 lol 仍在。

问题出在这部分:

$('#users').append($('<p>').text(mensaje[u][user]));

此代码显示连接的用户,但也显示断开连接的用户,例如

O
s
c
a
r

如何让连接的用户与断开的用户分开?

4

1 回答 1

0

我找到了我的解决方案:

$('#users').html('');
if (mensaje[1] != null)
{
$('#chatInsite').append($('<p>').html('<span>'+ '<strong>' + mensaje[1] + " desconectado</strong></span> "));   
for(i in mensaje[0])
    {
        $('#users').append($('<p>').text(mensaje[0][i]));
    }
$('#chat').animate({scrollTop: $('#chatInsite').height()},800);
}
else
{
    for(i in mensaje[0])
    {
        $('#users').append($('<p>').text(mensaje[0][i]));
    }
    console.log("Usuario Nulo");
}
于 2013-01-04T23:30:24.480 回答