设计服务端程序首先我考虑到的是通讯传输方式的设计,按照CityHunter的特殊性,其具有两种使用场景:
- 仅用于查看当前信息状态、搜索周边环境、对信息的实时性要求不高的一些场景;
- 用于攻略藏宝图或Chat,需要实时更新位置信息及周边状态,同时具有敏感性逻辑操作的场景(防作弊)。
介于两种通讯场景的不同需求考虑,我们的通讯模式也将分为两类
- 基于类似(或就是)Http协议的短链接模式,采取“请求-回应”的通讯方法;
- 基于Socket长链接的模式,实时更新客户端信息,实时验证数据有效性,迅速反馈相关游戏信息。
根据两种访问模式及业务特性,设计两套不同的服务器端程序,分布式安放在两台不同的服务器上。
未完待续...