关于网页游戏断线重连的思路和demo求助
http://bbs.9ria.com/thread-146997-1-1.html
——————————————————————————————————————————————————
1:俺有什么方法可以获得到玩家当前是否已经断线.
心跳包,客户端每秒向服务器发一个带有时间戳的包,服务器连续4秒收不到包则判断玩家断开
2:断线之后,我弹出tips告诉玩家他已经断线了,怎么样控制玩家当前对手继续进行游戏.
需要看是什么样的游戏
如果是斗地主三国杀这类限时回合游戏,那么强制用AI对掉线玩家做出一步操作
如果是长局即时游戏,可能需要服务器发送信息给所有人,暂停游戏以等某个人(WC3思路)
如果是短局即时游戏,允许其它所有人继续游戏,但掉线时间一旦稍长则踢出掉线者(CS思路)
3:断线之后无法连接到服务器,我需要用什么方法去侦听玩家的网络是否连接上了.
断线之后重新用socket连接,连接成功后用客户端之前缓存的房间号向服务器发送要重连的信息
4:玩家网络连接上了,我发送信息后台告诉后台连接上了并请求数据,后台数据过来之后怎么样继续游戏?因为断线时间是多久谁也无法确定呢.
几种办法,对三国杀一类棋牌回合游戏,服务器将当前所有玩家状态、出牌一次性发送给客户端,这个数据量并不大(CS因为信息量不大也是这个思路)
如果是更大的即时游戏,客户端要求重连时声明自己最后一次收到信息的时间戳
服务器缓存若干秒前的数据,将从上述时间戳开始,到当前时间戳为止的数据一次性发出,客户端收到后一次性执行或者加速执行(WC3的思路)
5:假如玩家一直断线挂不上,我怎么办呢?
踢出该玩家。
6:问题太多了,求详细思路,有demo最好,
开什么玩笑,这个是相当大的东西
sfs(smart fox server)等第三方开源引擎就是最好demo,而且注释全面
楼主有这个想法可以直接下载
7:有木有在QQ,英雄联盟做过这些的大神啊...
有在腾讯的,没有在QQ的,
此外英雄联盟是外国游戏,腾讯只是代理
8:求指导,每次俺发问题都花光所有积蓄,每次回答的人基本看不到,求指导..感激不尽呢.
所谓花光积蓄,6个问题一共30两,合一个问题5两,等于平均价格。
对复杂项目求原文件本身就得不到有效回复
将很多问题一起问也不是好办法,对回答者来说一次解决这么多太麻烦了。此外一问答不上出于面子未必来凑这个热闹。
此外正是这个各种求的态度,以及随口的感谢不尽万分感谢一亿分感谢或者十亿分感谢让回答者感觉没什么答的价值。楼主恰当的做法是先自行进行尝试,写一点自己的东西出来,在开发过程中碰到具体问题再有针对性地进行提问,而不是上述很泛的,从项目一开始就问到很往后的位置。
关于网页游戏断线重连的思路和demo求助的更多相关文章
- [Mugeda HTML5技术教程之14]案例分析:制作网页游戏
本文档要分析的案例是一个爱消除的网页小游戏,从中可以体会一些Mugeda API的用法和使用Mugeda动画制作网页游戏的方法. (一)游戏规则: 1.开始游戏时,手机出现在最上面一行的任意一格: 2 ...
- Netty 如何实现心跳机制与断线重连?
作者:sprinkle_liz www.jianshu.com/p/1a28e48edd92 心跳机制 何为心跳 所谓心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, ...
- 推荐21款最佳 HTML5 网页游戏
尽管 HTML5 的完全实现还有很长的路要走,但 HTML5 正在改变 Web,未来 HTML5 将把 Web 带入一个更加成熟和开放的应用平台.现在,越来越多的人尝试用 HTML5 来制作网页游戏等 ...
- arpg网页游戏之地图(三)
地图分块加载类MapEngine,主要包含以下属性: g 地图层graphics,地图将画在上面 buffPixelRange 地图加载范围矩形 viewPort 屏幕视窗 currZoneArr 已 ...
- arpg网页游戏之地图(二)
[转]http://www.cnblogs.com/BlueWoods/p/4684557.html 这一节说说视窗,这个视窗,也就是游戏的视角.现在的网页游戏分为2D游戏,2.5D游戏和3D游戏,2 ...
- arpg网页游戏之地图(一)
[转]http://www.cnblogs.com/BlueWoods/p/4681572.html?from=timeline&isappinstalled=1 开发arpg网页游戏一项比较 ...
- 关于socket tcp 断线重连
这个问题困扰过我几次,都没有来得及研究,今天研究一下. 首先写一个最简易的socket tcp程序,连接成功后再关闭服务器然后再用客户端各种操作看是什么情况 测试表明 (1)客户端已经连接,当服务端关 ...
- netty4 断线重连
转载:http://www.tuicool.com/articles/B7RzMbY 一 实现心跳检测 原理:当服务端每隔一段时间就会向客户端发送心跳包,客户端收到心跳包后同样也会回一个心跳包给服务端 ...
- 基于html5实现的愤怒的小鸟网页游戏
之前给大家分享一款基于html5 canvas和js实现的水果忍者网页版,今天给大家分享一款基于html5实现的愤怒的小鸟网页游戏.这款游戏适用浏览器:360.FireFox.Chrome.Safar ...
随机推荐
- Android 消息分发机制
Android 中针对耗时的操作,放在主线程操作,轻者会造成 UI 卡顿,重则会直接无响应,造成 Force Close.同时在 Android 3.0 以后,禁止在主线程进行网络请求. 针对耗时或者 ...
- iconv 使用方法封装
std::string iconv_exec(const std::string& in, const char* fromcode, const char* tocode) { char b ...
- mysql 数据类型TIMESTAMP用法
在mysql数据库中,timestamp数据类型是一个比较特殊的数据类型,可以自动在不使用程序更新情况下只要更新了记录timestamp会自动更新时间. 通常表中会有一个Create date 创建日 ...
- 解决sweetalert 无故报错 elem.className.replace Uncaught TypeError: Cannot read property 'className' of null
今天碰到这么一个问题,在使用sweetalert的时候时有时无会报错 elem.className.replace Uncaught TypeError: Cannot read property ' ...
- 牛腩学Kotlin做Android应用
牛腩学Kotlin做Android应用,蹭热度视频,边学边做, 01-kotlin插件安装及hello world 02-kotlin基础语法速览 哔哩哔哩观看地址:http://www.bilibi ...
- PCIe扫盲——一个Memory Read操作的例子
连载目录篇:http://blog.chinaaet.com/justlxy/p/5100053251 前面的一系列文章简要地介绍了PCIe总线的结构.事务层.数据链路层和物理层.下面我们用一个简单地 ...
- 自动化运维工具SaltStack详细部署
==========================================================================================一.基础介绍==== ...
- zabbix 安装时 到第三步时 database type 没有mysql选项
没有MySQL选项: 思路首选想到httpd: 一些问题都会从日志中反映出来: # tail -f error_log PHP Warning: PHP Startup: Unable to load ...
- 菜鸟学数据库(六)——方便快捷的开启、关闭Oracle服务
背景: 作为一个程序员,在日常的工作中,我们电脑经常需要同时运行很多程序,如:Eclipse.浏览器.即时通讯软件等,甚至经常需要打开几个Office文档或者pdf文档.这时候你的内存估计已经爆表了吧 ...
- at org.apache.catalina.webresources.CachedResource.validateResources
"catalina-exec-659" #5239 daemon prio=5 os_prio=0 tid=0x00007fcba8099800 nid=0x581 waiting ...