1在当今的手游世界,如果没有服务器之间的竞争,称其为手游就太可惜了。
说到跨服务器,就需要说到匹配服务器。例如,在跨服务器规模的赛事中,来自不同服务器的玩家应该能够在同一屏幕上进行比赛。为了能够匹配到与对手实力相近的玩家,我们需要一个独立的匹配服务器来收集数据,然后分配房间。匹配服务器也是设计跨服务器竞争的基础。
为了区分游戏服务器和匹配服务器消息类型,我们的匹配服务器消息前面有一个M(Match)
4业务处理器
我们仍然使用@Controller注解来标识模块处理器,使用@RequestMapper注解来标记业务处理方法。不同的是,在游戏服务器上,每条消息的元信息都带有模块号和子类型号。关于匹配服务器,这里不再赘述。因为匹配服务器业务比较少。我们可以直接使用消息类名作为业务签名。
在业务调度程序中,我们存储每个方法签名和相应的方法处理程序。
5匹配服务器收到http请求后,通过参数解析获取对应的业务签名,并通过反序列化取出请求消息参数。将消息分发给适当的业务处理器。代码如下:一个完整的业务处理器,代码如下(可以看出和游戏服务器很相似):代码示例
启动匹配服务器()
再次运行游戏服务器单元测试
上一篇:云主机和虚拟机的区别
下一篇:游戏云服务器搭建