游戏服务器一定需要用户管理,最常见的方式就是建立用户 ID 到用户实例的映射关系(还有可能存在用户帐号 ID、用户名到用户实例的映射关系)。例如:

    这样的话,广播消息就是:

    一个最简单的广播的例子

    打开 Leafserver game/internel/chanrpc.go 文件,加入一个全局变量:

    1. var agents = make(map[gate.Agent]struct{})

    由此可见 agents 中保存了当前所有连接,广播的处理:

    1. a.WriteMsg(msg)