背景:

手机游戏平台服务端设计目前主要有基于Socket的状态连接和HTTP无状态连接两种架构。由于手机用户对于网络流量的敏感和网络状态的变化要比PC环境要复杂,因而对于卡牌类游戏基本采用HTTP连接架构。

基本原理:

基于HTTP连接架构的服务端,由API客户端页面和管理网站构成。部署和管理运营方式类似于WEB网站。服务端不需要运行一个稳定的服务端程序,从而减少了运营和维护的工作量。由于基于HTTP协议,因而扩展并发用户,也可以采用购买CDN服务来解决。但是只适用于规则简单,对于实时交互要求不高的卡牌类游戏。对于规则复杂,实时交互要求高的图形化网络游戏目前还是普遍采用Socket的方式来实现。

基于HTTP协议实现的服务端设计,对于开发设计和架构有比较高的要求,对于数据库的设计也有较高要求。其主要计算都是基于数据库的,因而从提高性能,扩展更多连接的角度高度。需要采用分库分表的数据库设计策略。网页部署采用按照功能和游戏类型,等级房间及牌桌的分布,采用分布式部署。对于和客户端的交互协议也有比较高的要求。客户端有一个线程不断从服务端获取当前游戏状态,从而更新界面。服务端响应客户端请求的时候,完成对应的计算,结果保存在临时数据表中,并通过JOSN协议加密传输给客户端。

服务端系统图

服务端系统说明

1) 第一个层次是游戏玩家系统,包括注册,道具商城管理,会员积分系统。这部分计划在成熟的帝国内容管理系统基础上完成开发。

2) 第二个层次是游戏管理系统。包括游戏的添加配置管理,具体游戏主服务器的开辟,每个游戏房间和房间内牌桌的设置等各类和游戏管理有关的工作。这部分也在帝国内容管理系统基础上,实施定制化开发。

3) 第三个层次是每个游戏的房间的管理。这部分通过标准JSON的API和客户端通讯,通过标准JSON的API和客户端通讯。完成依据用户积分情况选择游戏中的房间。并可以提供给客户端哪些用户在线状况,引导用户进入对应房间。

4) 第四层次是游戏房间下面的具体的牌桌管理。这部分依据每个游戏的规则和交互特点,通过标准JSON的API和客户端通讯,完成整个联网游戏过程。为解决大并发问题,每个房间都有自己独立的分布式数据库,并在游戏结束后清空。

后续我将就我实现的简单卡牌游戏碰碰点位为游戏示范,搭建游戏的网络版本,并完成该架构的初步开发开发框架.合适时候为提交GitHUB予以开源分享,并希望高手和游戏爱好者共同完善该框架.目前碰碰点的单机版本可以到360市场下载到.

卡牌手机游戏基于HTTP协议的服务端设计方案相关推荐

  1. 手机游戏刷表流程记录—服务端菜鸟的成长之路

    刚刚毕业参加工作,这是我写的第一篇blog,技术不好,有不好的地方希望各位师哥师姐指正. 作为手机游戏服务端java开发工程师,不可避免的会接触到一些刷表的任务,虽然不是很复杂,但是过程很繁琐,熟练了 ...

  2. Python socket 基于TCP协议智能门锁服务端

    缘由:因为带钥匙实在麻烦,市面上的智能锁虽好,但是有点小贵,于是我们就想着能不能自己做一个用手机语音助手加上自己搭的客户端和服务端加上电机,做一个简易版低成本的智能门锁. 功能及应用流程介绍:用户只需 ...

  3. 卡牌NFT游戏的角逐:Shiryo能否脱颖而出?

    卡牌NFT游戏的角逐:Shiryo能否脱颖而出? Shiryo想要创造一款NFT交易卡牌游戏,让玩家能够享受其中,而不是去玩游戏来赚钱. 现在我们已经看到,区块链领域中许多"玩赚" ...

  4. 效果最接近《羊了个羊》(卡牌堆叠游戏)的开源代码 微信小程序开源了

    ⭐零.教程概述 效果最接近<羊了个羊>(卡牌堆叠游戏)的开源代码,有数据库和关卡. 我写的程序是指 卡牌堆叠游戏 ,效果与羊了个羊一致.本教程有已有两个版本. 本来是想着Fork多一点的时 ...

  5. 基于socket实现虚拟手柄使用手机控制电脑游戏(上)-电脑服务端

    基于socket实现虚拟手柄使用手机控制电脑游戏(上)-电脑服务端 这个是关于利用socket套接字实现手机控制电脑按键的一个实例,完成这个项目可以实现用手机控制狂野飙车等游戏,就是一个简易的手机虚拟 ...

  6. 效果最接近《羊了个羊》(卡牌堆叠游戏)的开源代码

    ⭐零.教程概述 效果最接近<羊了个羊>(卡牌堆叠游戏)的开源代码,有数据库和关卡. 我写的程序是指 卡牌堆叠游戏 ,效果与羊了个羊一致.本教程有两个版本 PHP 使用 PHP + H5 + ...

  7. 计算机卡牌培养游戏,2020好玩的放置卡牌养成类游戏推荐 卡牌放置 轻松养成

    放置卡牌养成类游戏是很多的玩家很喜欢的游戏的类型之一,在放置卡牌养成类游戏中玩家可以体会到不同的乐趣,下面小编就来介绍几款好玩的放置卡牌养成类游戏,感兴趣的小伙伴一起来看看吧. 1.高能手办团 高能手 ...

  8. Node.js联机游戏——gobang五子棋(客户端+服务端+websocket的双人游戏)

    Node.js联机游戏--gobang五子棋(客户端+服务端+websocket的双人游戏) 五子棋的基本结构 ~·基本画图 ~·判断机制 ~···横向/竖向判断 ~···斜向判断 搭建服务器阶段 ~ ...

  9. 网页游戏服务器安装包,网页游戏[窝窝世界]一键启动服务端+全套组件+启动教程+GM工具...

    网页游戏[窝窝世界]一键启动服务端+全套组件+启动教程+GM工具 资源说明: 1.本资源默认单机架设,无需修改IP直接按照教程架设即可. 2.窝窝世界是一个以魔兽世界背景为题材的在线回合制网页游戏. ...

最新文章

  1. 逐行分析Hadoop的HelloWorld
  2. 成功解决from nets import inception_resnet_v2 ModuleNotFoundError: No module named 'nets'
  3. CAN2.0的标准帧和扩展帧格式
  4. C++之操作符重载和运算符重载
  5. 自旋锁和互斥锁实例_自旋锁和互斥锁的实现以及使用区别
  6. 使用Java VisualVM分析您的应用程序
  7. java 时间回退_java.time DateTimeFormatter使用灵活的回退值进行解析
  8. 从零开始学ios开发(十三):Table Views(下)Grouped and Indexed Sections
  9. 如何在jQuery中发送PUT / DELETE请求?
  10. sqlite关于时间的处理
  11. 中移动、中联通、中电信取消网间结算政策:实行对等互联,互不结算
  12. 如何正确使用QTcpSocket的readyRead信号?
  13. 中国马克思主义与当代——讨论课
  14. “盲人”马云:骑着盲虎贩卖梦想
  15. [WinError 6] 句柄无效。
  16. SVM-RFE使用及换kernal及estimator
  17. Zephyr驱动程序框架简介
  18. word设置生成目录显示的级别
  19. 教你用Python做小游戏
  20. 77% 的 Android 手机已换上 Eclair 或 Froyo 系统

热门文章

  1. python实现抢票github_​两大 Python 抢票神器霸榜 GitHub
  2. 事件绑定(onmouseout,onmouseover)
  3. C++ sort()排序详解
  4. 朱老师核心课程之串口实验烧录
  5. Arch Linux生存指南(1)
  6. Web标准(敲黑板)
  7. win10搜索服务器文件慢,Win10技巧:Cortana搜索慢一招解决
  8. Arduino开发之如何连接GPS模块?
  9. 2015 年度工作总结
  10. 基于TDI的网络防火墙