http://uh.9ria.com/space-12147-do-blog-id-5248.html
因为这并没有什么特定的名字,所以就随便取了一个,不用特别在意。具体而言,就是现在facebook上许多SNS游戏使用的通信方法。既然是要做facebook上的游戏的话,用“抄”的思路来考虑,那么可能就会接触这样的东西了。
如果有兴趣的话,可以翻 墙上facebook看看,同时开着firebug,然后必然会有疑惑。你会发现自己做了无数操作却没有任何请求,而下面,说的则是具体的做法。知道了做法,自然就知道原因了。
事先说明,正常人知道这种做法,一定会觉得这是相当乱来的方式。我还是那句话,这种做法已经被广泛使用了,事实证明,至少facebook上的用户是完全可以接受(而且已经接受了),所以请不要考虑这样的问题。
简单来说——比如我们通常的做法,会在相应的时候请求服务器,这里面有下行的读取数据的请求,也有上行的发送操作的请求。
然后,其实有个很早的优化方法,就是将多个连续的请求合并成一个请求组同时发送,这样可以减少连接次数,缩短等待时间。而这些看起来半天不发送请求的游戏,其实就是将这个做法夸张后的结果。本来,只有连续的请求才会被合并,这样逻辑上并没有区别,而这个做法则是将一段时间内(可能5分钟)的请求全部累计起来发送……
所以,你操作的时候当然看不到后台请求,因为这还在累计阶段,直到等待一段时间后,实际的请求才会发送到服务端,然后服务端再逐条进行出来。不管你当初做了多少操作,服务端也只会处理一次。其中,还可以进行多种优化处理,因此这种做法可以有效的减少服务端压力。而且因为请求被合并了,用户操作时等待的时间也缩短了,对于响应较慢的短连接的游戏这是很重要的。
这并不难实现。对于客户端,也仅仅是把请求内容累计起来,然后用定时器发送出去,服务端也就是接受一组请求然后用原来的办法一条一条处理(这部分可以进行优化,诸如分解与合并来提高性能),因为实际交互流程并没有变化,也没有所谓的作 弊隐患。
当然,这和原来的做法还是有很大区别的,尤其是对于一些原本比较差的项目而言。这样做,本地配置数据和持久层都是必要的。本地配置数据可以将一些服务器的定义数据缓存到客户端,一般会采用XML方式,这样服务器只需要返回物品ID,客户端就可以直接生成一个完整的物品数据而无需服务器提供。而持久层则能保证只要在第一次登录时获得足够必要的数据,之后只有用户本身的操作的话,就不需要服务器再提供新的数据。而这两部分并不在本文的讨论范围内。
这是必须的。可以想到,既然请求只是被储存起来而不是立即发送,自然就不能马上取到发送后的服务器返回了。但我们不可能等到那个时候,所以结果只能先由客户端模拟,然后在请求时确认。关键就在这里,如果没有本地配置文件,也没有持久层的话,客户端根本没有所需的数据。比如你购买了一个物品,虽然你买了,但在请求没有发送前是不会有新的数据的,所以为了显示这个已经购买的假象,你必须能取到物品的图片,说明,而为了操作正常,新买的物品应当能在物品栏中正常显示,以至于正常使用。前者就是配置文件的功劳,后者则需要持久层。这两个东西以前是用来优化的,不少项目其实都是实现了的,所以要再实现伪请求只需要简单写点代码就可以很容易模拟出显示效果。当然如果没做……
总之如果要说这个又得很多篇幅,现在就不提了,所以这里就默认大家都做了这个工作吧。但即使是这样,将请求累计起来发送还是有一些新问题。问题还在于模拟,说白了,这个就是要求所有的上行请求都不包含下行,而显然不是所有的请求都能够做到这点的。因此,它具有一定的适用范围,并不是通用的代替方法。
分享到:
相关推荐
社交网络(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技术发展背景 随着信息技术的不断进步和发展,从主机时代到现在的云计算时代,信息技术经历了多次革新。从最初的集中式主机系统,到分布式客户端/...
本文将深入探讨一款基于C# MVC技术开发的完整SNS网站源代码——"近乎SNS论坛"。这款源代码为开发者提供了构建自己的社区论坛系统的强大工具,有助于理解SNS网站的设计理念和实现技术。 一、C# MVC框架介绍 C# MVC...
在基于SNS(社交网络服务)平台的电子商务模式创新中,我们可以看到这一创新模式的核心是将社交媒体的功能与电子商务的交易特性相结合,SNS平台如微信、微博、QQ空间等已经成为了人们日常交流的重要场所,而将这些...
SNS赢利模式分析答辩PPT 课题背景、目的及意义 SNS的基础知识 SNS商业价值的分析 SNS网站六大盈利模式分析 国内外SNS网站成功范例 SNS 盈利模式应当如何发展
综上所述,"ASP.NET源码——[交友会员]成幻SNS(CHSNS42) v1.22 开源版.zip"为我们提供了一个实际的ASP.NET社交网络应用实例,不仅可以学习到ASP.NET的相关技术和开发流程,还可以深入了解社交网络服务的架构与功能...
【SNS盈利模式详解】 SNS,全称Social Networking Services,是一种基于互联网的社会性网络服务,旨在帮助用户构建社交网络。这一概念起源于美国,基于斯坦福大学心理学教授Stanley Milgram提出的六度分割理论,...
### SNS社区网站WEB即时通信技术解决方案解析 #### 公司背景及介绍 - **公司简介**:WEBIM20.CN(上海几维信息技术有限公司)是一家致力于技术创新的新兴WEB即时通信产品和服务提供商。该公司的核心竞争力在于长期...
深入研究CHSNS911 成幻SNS 的源码,开发者可以学习到ASP.NET 的MVC模式、三层架构设计、AJAX异步通信、用户权限控制等多个方面。同时,通过调试和修改源码,可以进一步提升对ASP.NET 开发的理解和实战能力。对于想要...
1. **植入式广告**:这是SNS网站常见的盈利手段,例如开心网的“争车位”、“买房子”等游戏组件中,将真实的汽车品牌、房地产项目等融入游戏,让用户在游戏中自然接触到广告信息,提高品牌曝光率和用户认知度。...
标题“求职(从一个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应用程序的框架,它为开发者提供了强大的开发工具和丰富的功能,使得创建动态、交互式的网页变得更加简单。在本...