|
服务器架构大概如下:
玩家客户端直连GATEWAY服务器,简称GW;
SCENE服务器也就是地图服务器,每个SCENE进程运行几个地图;
几个SCENE运行了游戏的所有地图;
GW要和每个SCENE连接;
所有SCENE要和一个唯一的服务器MANAGER连接,MANAGER知道所有的地图信息;
比如SCENE1进程运行了两张地图A和B;
SCENE2运行了地图C;
玩家在地图A,要跳到地图C,怎么处理呢?
方案:
当客户端点击了跳转点,会从SCENE1发出跳转请求给MANAGER,MANAGER于是询问SCENE2,假如成功(SCENE2有响应,并且人数未满),MANAGER将玩家数据结构发给SCENE2,并同时通知SCENE1删除玩家数据结构;
感觉应该有不少地方没考虑清楚啊,此时客户端又是怎么表现呢?大家给些建议吧。 |
|