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 に答える