关于网页游戏断线重连的思路和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 ...
随机推荐
- PHP读取超大日志文件
打开一个17G的日志文件,都不吃力,除了占cpu之外,内存占用不多,如果直接fopen根本打不开 注:它是逐行读取的 foreach( glob( ngx_log. "/*.log" ...
- nginx 配置http重定向到https
在80端口的那个server下,添加如下: server_name www.youwebsite.com youwebsite.com; rewrite ^(.*)$ https://$host$1 ...
- 【Unity】2.10 利用VS2015编辑Unity的C#脚本
分类:Unity.C#.VS2015 创建日期:2016-03-31 一.简介 用VS2015编辑C#脚本时,如果让其"显示所有文件",就会看到VS2015解决方案资源管理器中项目 ...
- 读取word到二进制,再转成word
static void Main(string[] args) { try { var strParams = new Dictionary<string, string>(); stri ...
- 添加多个CCArmature
CCArmatureDataManager::sharedArmatureDataManager()-> addArmatureFileInfo("armature\\Cowboy0. ...
- C# LINQ系列:LINQ to DataSet的DataTable操作 及 DataTable与Linq相互转换
LINQ to DataSet需要使用System.Core.dll.System.Data.dll和System.Data.DataSetExtensions.dll,在项目中添加引用System. ...
- Lintcode: Implement Queue by Stacks 解题报告
Implement Queue by Stacks 原题链接 : http://lintcode.com/zh-cn/problem/implement-queue-by-stacks/# As th ...
- log4j打印错误异常的详细堆栈信息
一.问题场景 使用Logger.error方法时只能打印出异常类型,无法打印出详细的堆栈信息,使得定位问题变得困难和不方便. 二.先放出结论 Logger类下有多个不同的error方法,根据传入参数的 ...
- 主流Java数据库连接池分析(C3P0,DBCP,TomcatPool,BoneCP,Druid)
主流数据库连接池 常用的主流开源数据库连接池有C3P0.DBCP.Tomcat Jdbc Pool.BoneCP.Druid等 C3p0: 开源的JDBC连接池,实现了数据源和JNDI绑定,支持JDB ...
- JAVA-JSP内置对象之out对象进行页面输出
相关资料:<21天学通Java Web开发> out对象 out对象进行页面输出1.通过out对象的print()方法和println()方法进行页而输出.2.不同的println()方法 ...