轻松学会Workerman实战

用户退出

此课程是收费课程,请先购买或加入会员后再访问。

当用户退出聊天室时候,用户列表和私聊中,就不应该继续有当前用户的信息了。这个功能的实现也很简单。

找到socket/GatewayWorker/Applications/YourApp/Events.php,修改onClose部分。

public static function onClose($client_id)
{
    GateWay::sendToAll(json_encode([
        'type' => 'logout',
        'client_id' => $client_id,
    ]));
}

当用户退出后,就直接将client_id发送过去,type就是logout

vue

case 'logout':
    this.$delete(this.users, data.client_id)
    break;

这里用到了$delete,它是vue中提供的 https://cn.vuejs.org/v2/api/#Vue-delete,意思就是直接从clients中,删掉当前的client_id

我们来退出一个浏览器试试。


现在就注册ITFun.tv会员
持续关注IT界最新技术,随时更新相关课程。在线学习IT课程或直接报名参加线下武汉PHP、Web前端培训。

仅仅30秒钟就可以简单注册

会员注册(免费)
×