http://uh.9ria.com/space-12147-do-blog-id-5250.html
回档本来是服务端的概念。不过贵在有这个旧概念,现在的玩家基本能接受回档这个状况了,能够理解“虽然我买的东西没了但钱也还我了所以没有关系”。而假操作因为是延迟发送的,发送之前出了岔子,服务端压根不知道有这回事,在玩家看来就是回档。
岔子嘛,无非是出错了。出错可能是单纯的网络错误,也可能是请求验证失败被打回来了(比如你作 弊了,或者被服务端逻辑误杀了),更多的情况则是玩家切换页面,关闭浏览器,以及掉线,关机。
这可能是最大的隐患,因为这关系到用户习惯。一般这类游戏都需要设置保存按钮,这样点保存后,前面的操作能确保不会回档。还有的则是采用“保存后退出”这样的设定,就像计算机安全关机一样,你用界面关就不会丢数据,强制关就可能坏硬盘。保存后退出也能避免有强迫症的玩家没事就点保存导致服务器压力反而增大。
好在现在很多游戏都这么搞,大家都有这个意识,一般也不会抱怨了。
对于关闭浏览器的情况,其实可以用这样一个JS脚本来阻止
function (text) {
if (text != null)
{
window.onbeforeunload = onbeforeunload_handler;
function onbeforeunload_handler()
{
var warning = text;
return warning;
}
}
else
window.onbeforeunload = null;
}
当浏览器关闭或者刷新时,JS会先弹一个框出来,显示text的文字,点击了确认则刷新或者关闭,点取消就回到原界面。这个可能会有点烦,但确实有效。你可以在点击“保存后退出”取消这个JS的效果让他能顺利关闭浏览器,也可以在假请求列表为空时取消。
服务器验证回档则是比较麻烦的事情,毕竟回档对用户来说很不“友好”,按说应该尽可能避免。首先就是要靠测试减少BUG,因为现在客户端需要模拟,因此实际上所有算法和配置都是客户端服务端各一套,同步不好就验证失败然后回档。麻烦的是我们只知道不同步,而不清楚到底是哪一方的错。必要的情况,可以考虑减少服务端的验证,一些时候,BUG导致错误数据也不一定不能接受,但老回档实在是……
最后,还有一个回档的可能,那就是天灾——网络错误。虽然看起来网络错误可以靠重发解决,但事实上不是这么简单,所有不少团队都是直接“出错=F5刷新=回档”。
事实是这样的,如果你的请求的确没有发送到服务端,再发一次当然没问题。但同样显示网络错误,未必没有发送到服务端,有可能是服务端接受到请求后返回结果时没发回来……这样你重发的话,服务端就收到了两次请求。如果这两次请求都是买东西而且正好合法的话,玩家就郁闷了……风怒了是吧……
这个是有解决方案的,方法就是客户端和服务端都记录各自的请求发送次数,客户端发送的请求都带上这个次数,而服务端则忽略次数相同的请求,这样就不会因为重复请求则导致买了两个东西了。
当然闲这个做法麻烦直接F5刷性也成,毕竟是小概率。
这种做法也能有效阻止双开。
顺带说下save操作的更新频率。总之,太高服务端压力大,太低则回档跨度大。定多长时间看情况(1-5分钟吧)。首先我觉得主要靠时间。具体作法则是:
一旦有请求,则开始5分钟倒计时,时间到了保存。
倒计时期间的请求不再触发倒计时。
这样做的结果是让最小save间隔为x分钟。如果一直有请求,最小的间隔就是x分钟,一旦没有了请求,最长只要等x分钟就能自动保存,而且一直没有请求的话,就一直不会保存。
这行基本够用了。如果觉得单靠时间很死板,也可以加上条数限制,条数过多可以先于时间保存。
分享到:
相关推荐
社交网络(Social Network Service, SNS)作为互联网的一个重要组成部分,其大数据的应用已经渗透到了日常生活的方方面面,从社交互动到广告营销,再到数据分析和存储。在社交网络中,Facebook和腾讯无疑是最具代表...
在这个特定的课程设计中,重点是红外线集成器件sNS9201在延时开关中的应用,这涉及到电子技术、传感器技术和微控制器的综合运用。 sNS9201是一款高性能的红外线接收器集成电路,常用于遥控系统、无线通信以及自动化...
对于采用SNS的互联网的商业运作模式,更多的是作为传统商业运作模式的扩展,目前还没有形成清晰的盈利模式,一定程度上制约了SNS的进一步广泛应用和发展。本文在介绍SNS现状与电子商务赢利模式理论的基础上,分析了...
社交网络SNS(Social Networking Service)的未来盈利模式是业界关注的焦点。随着互联网的快速发展,SNS网站需要探索创新的商业模式以实现可持续发展。以下是一些可能的盈利策略: 1. **SNS+网页游戏**:网页游戏在...
SNS网站的未来是非常不确定的,国内的SNS网站大多数都是抄袭Facebook的模式,但是这种模式并不能保证成功。SNS网站的成功需要创新和独特的核心竞争力,而不是简单的抄袭和模仿。 三、SNS网站的发展阶段 SNS网站的...
在IT行业中,社交网络服务(SNS)网站已经成为人们日常交流和信息分享的重要平台。而获取用户的联系人信息,特别是像MSN(Microsoft Network)这样的即时通讯工具的联系人列表,对于提升用户粘性、实现社交网络的...
SNS2124&SNS2224&SNS2248&SNS3096&SNS5192&SNS5384产品文档
在 SNS 网站的盈利模式中,广告价值是非常重要的一部分。社交网站具有自己独特的优势,它的信息传递大多数是朋友之间或者兴趣群组这些社会化的关系方式的传递为主。由于它的这个特点,信息传播的影响力更胜于一般的...
### CALIS资源整合与服务模式——云计算等新技术下的探索 #### IT技术发展背景 随着信息技术的不断进步和发展,从主机时代到现在的云计算时代,信息技术经历了多次革新。从最初的集中式主机系统,到分布式客户端/...
在基于SNS(社交网络服务)平台的电子商务模式创新中,我们可以看到这一创新模式的核心是将社交媒体的功能与电子商务的交易特性相结合,SNS平台如微信、微博、QQ空间等已经成为了人们日常交流的重要场所,而将这些...
本文将深入探讨一款基于C# MVC技术开发的完整SNS网站源代码——"近乎SNS论坛"。这款源代码为开发者提供了构建自己的社区论坛系统的强大工具,有助于理解SNS网站的设计理念和实现技术。 一、C# MVC框架介绍 C# MVC...
SNS赢利模式分析答辩PPT 课题背景、目的及意义 SNS的基础知识 SNS商业价值的分析 SNS网站六大盈利模式分析 国内外SNS网站成功范例 SNS 盈利模式应当如何发展
【SNS盈利模式详解】 SNS,全称Social Networking Services,是一种基于互联网的社会性网络服务,旨在帮助用户构建社交网络。这一概念起源于美国,基于斯坦福大学心理学教授Stanley Milgram提出的六度分割理论,...
综上所述,"ASP.NET源码——[交友会员]成幻SNS(CHSNS42) v1.22 开源版.zip"为我们提供了一个实际的ASP.NET社交网络应用实例,不仅可以学习到ASP.NET的相关技术和开发流程,还可以深入了解社交网络服务的架构与功能...
### SNS社区网站WEB即时通信技术解决方案解析 #### 公司背景及介绍 - **公司简介**:WEBIM20.CN(上海几维信息技术有限公司)是一家致力于技术创新的新兴WEB即时通信产品和服务提供商。该公司的核心竞争力在于长期...
1. **植入式广告**:这是SNS网站常见的盈利手段,例如开心网的“争车位”、“买房子”等游戏组件中,将真实的汽车品牌、房地产项目等融入游戏,让用户在游戏中自然接触到广告信息,提高品牌曝光率和用户认知度。...
深入研究CHSNS911 成幻SNS 的源码,开发者可以学习到ASP.NET 的MVC模式、三层架构设计、AJAX异步通信、用户权限控制等多个方面。同时,通过调试和修改源码,可以进一步提升对ASP.NET 开发的理解和实战能力。对于想要...
标题“求职(从一个APP开发的设想看SNS的商业模式)”揭示了这篇博文的核心内容,它探讨了如何从一个应用程序(APP)的开发视角来理解社交网络服务(SNS)的商业模式。在这个数字化时代,SNS平台已经成为人们交流、...
标题和描述所揭示的知识点主要集中在Amazon Web Services (AWS) 中的Simple Notification Service (SNS)。AWS SNS是AWS提供的一个可扩展的云消息推送服务,它允许用户通过各种通信协议向应用程序或服务发送推送通知...
【ASP.NET源码详解——成幻SNS CHSNS41 v1.05 学生社区版】 ASP.NET是微软公司开发的一款用于构建Web应用程序的框架,它为开发者提供了强大的开发工具和丰富的功能,使得创建动态、交互式的网页变得更加简单。在本...