关于我们

质量为本、客户为根、勇于拼搏、务实创新

新闻公告

< 返回新闻公共列表

棋牌游戏服务器如何实现掉线重连的方法

发布时间:2019-12-02 09:36:43

网页棋牌游戏是这两年新兴的一种游戏方式。这种以网页技术实现的和富客户端 实现的棋牌游戏有一个比较大的区别:用户更容易误操作导致页面刷新或者关闭。如果在 游戏的过程中网页刷新或者已经关闭了,会导致用户和服务器的连接断开而中止游戏,这 时候用户肯定希望能够快速稳妥的回到游戏中去。在棋牌游戏中如何实现基于TCP (Transmission Control Protocol,即传输控制协议)协议的网页棋牌游戏客户的掉线重连呢?

首先用户重新连接棋牌游戏房间的某个牌桌;房间服务器判断用户是否能够重连进本牌桌;判断游戏状态,如果用户连入的牌桌的状态不是游戏状态,则把用户状态修改为“正常连接”状态;判断当前用户是否为活动用户;把用户状态修改为“正常连接”状态;向重连用户发送牌桌的整个上下文消息,客户端可以利用这个消息重建客户端牌桌信息;向其他用户发送上线消息,告诉其他玩家用户已经重新连上来了。这种方法使得用户在游戏中无论什么时候、什么原因掉线后,只要游戏未结束,均可快速、稳妥的重新进入游戏,可以很大程度上提高用户体验,尤其是对付费用户来说,这个功能可以尽可能的挽回他因掉线带来的损失。

现在要解决的技术问题是提供一种在网页游戏中,即使网络环境复杂、不稳 定,也能让棋牌游戏用户在意外中断游戏后可以快速稳妥的返回游戏的方法。

该方法至少包括如下的步骤:

1 :用户重新连接棋牌游戏房间的某个牌桌;

2 :房间服务器判断用户是否能够重连进本牌桌;

3 :如果用户可以重连进本房间,绑定牌桌对象和用户TCP连接对象。这样以 后用户的请求将能迅速的被本房间处理;

4 :判断游戏状态,如果用户连入的牌桌的状态不是游戏状态,则把用户状态 修改为“正常连接”状态,这样虽然本局用户已经不能继续游戏,但是到下一局的时候,用户 又可以正常进行游戏了;

5 :判断当前用户是否为活动用户(打牌的过程中,如果轮到某个用户动作 了,则该用户被称为活动用户),如果是活动用户,则委托定时处理程序3秒后再进行重连。 这样做可以有效的防止因掉线而被迫被服务器托管的用户在重连后的牌桌状态和服务器 所存储的牌桌状态一致,避免重连后出现逻辑问题;

6 :把用户状态修改为“正常连接”状态;

7 :向重连用户发送牌桌的整个上下文消息,客户端可以利用这个消息重建 客户端牌桌信息;

8 :向其他用户发送上线消息,告诉其他玩家:用户已经重新连上来了 ;

网页棋牌游戏服务器判断用户是否能够重连进本牌桌其步骤为:

1 :判断牌桌上下文信息是否有效,如果无效则说明牌桌已关闭,重连失败;

2 :判断用户是否真的曾经从本桌掉线,防止恶意连入;

3 :判断用户是否因为被踢出而掉线,如果是被踢出的,则重连失败;

这种在棋牌游戏中实现稳妥的掉线重连的方法,使得用户在游戏中无论什么时候、什么原因掉线后,只要游戏未结束,均可快速、稳妥的重新进入游戏,可以很大程度上提高用户体验,尤其是对付费用户来说,这个功能可以尽可能的挽回他因掉线带来的损失。


/template/Home/Data/PC/Static
万锦互联为您的网站提供全球顶级IDC资源
在线咨询
专属客服

免费电话:
023-88256568