登录、注册、退出
只考虑单价架构的情况
网关,管理客户端连接。
若用户未登录,将消息转发到登录服务处理。
若用户登录,将消息转发到客户端对应的agent。
gateway 保存连接信息。就算有多个gateway,客户端连接的时候要选择一个并一直使用这个。
local fd = { fd = 1, user_id = 1, agent = nil, }
登录服务,请求来的时候,进行账号校验,未注册要提示注册
登录成功返回需要的信息,由gateway 转发给agent_mgr 创建agent。
可以指代一个客户端,负责这个客户端的业务逻辑
agent管理,负责agent的 创建销毁
唯一的,保存所有线上玩家的状态
保存 uid-->agent 的映射
保存 用户状态
场景服务,如开房间游戏,一个scene就是一个房间,保存房间的状态和玩家(agent)信息
gateway收到消息,看fd-->agent 是否存在(登录),未登录将消息转发给 login 服务
login 解析协议,注册协议的话,进行注册处理。登录协议的话,进行登录校验,校验通过返回协议响应。
gateway 收到登录成功响应,让agent_mgr 服务创建agent,构建fd-->agent 的映射,返回给客户端登录成功的响应。
之后该fd 连接 的消息都转发到这个 agent。
最后更新于4年前