我使用workerman-chat中,我去掉了输入用户名的弹出框,自动随机匹配唯一的用户名,有时候刷新了一下页面,会生成一个新的在线用户,旧的那个用户还显示在线,关掉浏览器,再打开,之前的在线用户还在那里没有清除。重启服务器后,之前的用户还在列表中
修改过的web端代码如下:
function onopen()
{
<?php if($userinfo != -1){ ?>
name = '<?php echo $userinfo; ?>';
<?php }else{ ?>
name = '游客'+Math.floor(Math.random()*100000000);
<?php } ?>
/*if(!name)
{
show_prompt();
}*/
// 登录
var login_data = '{"type":"login","client_name":"'+name.replace(/"/g, '\\"')+'","room_id":"1"}';
console.log("websocket握手成功,发送登录数据:"+login_data);
ws.send(login_data);
}
你看下官方的在线demo是否有你说的问题,如果没有,请自己检查下自己的业务逻辑是否有问题。