《棋牌游戏服务器》玩家入桌流程设计

 

1、入桌流程

 

整个流程如上图所示,里面的关键点在于,网关会解析JoinTableResponse消息,然后记住这个用户(从网关角度,也可以说这个socket连接)当前所在的游戏服、房间、桌子。

这样,当游戏服往整个桌子广播消息的时候,可以告诉网关这个消息是给哪个桌子的,网关通过这个信息再把消息广播给用户,提高内网通信效率。

 

2、离桌流程

和上面的流程大同小异,对应的消息是LeaveTableRequest和LeaveTableResponse;网关同样解析LeaveTableResponse清除用户位置信息。

3、断线重连

断线于入桌流程也是类似的,有两点不同:

1)客户端发送的还是JoinTableRequest消息,只是不带上room或table参数;

2)网关如果发现用户没在游戏场,直接返回错误;否则的话,就和入桌流程类似。

4、换桌流程

 

换桌的本质是先离桌,再入桌,因此客户端还是发送LeaveTableRequest请求,只不过通过一个消息字段type来标志:这是一次换桌;

游戏服完成换桌以后,返回的LeaveTableResponse响应里面也包含这个type标志;网关解析这个消息之后,先完成离桌的逻辑,再代替客户端发起一个入桌请求,后面的流程就与入桌一样了。

  

 
posted on 2019-02-23 18:23  longhuihu  阅读(751)  评论(0编辑  收藏  举报