我在Node.js上使用'ws'并且我不确定删除多少旧连接(旧连接断开连接或空闲连接,这可能是两个不同的问题)。我是否需要手动实现这两种类型?
答案 0 :(得分:2)
为此,您需要首先维护服务器端的实时Web套接字连接对象列表。当用户通过关闭浏览器或任何其他方式从Web套接字断开连接时,您需要从列表中删除用户Web套接字连接对象。
服务器端代码。您可以在以下代码中引用members数组来处理它。
io.on("connection",function(client)
{
client.on("join",function(data)
{
members[membercount] = client;
membername[membercount] = data;
membercount++;
for(var i =0 ;i <members.length;i++)
{
members[i].emit("message",membername);
}
});
client.on("messages",function(data)
{
for(var i =0 ;i <members.length;i++)
{
if(members[i].id !== client.id)
{
members[i].emit("message",data);
}
}
});
client.on("disconnect",function(data)
{
for(var i =0;i<members.length;i++)
{
if(members[i].id === client.id )
{
membercount--;
members.splice(i,1);
membername.splice(i,1);
}
}
for(var i =0 ;i <members.length;i++)
{
members[i].emit("message",membername);
}
});
});
希望这有助于!!!!!