我在服务器端有这个代码发送给客户端,用户从系统断开连接:
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
如何将已连接的用户与已断开连接的用户分开?
答案 0 :(得分: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");
}