什么网络营销博客游戏有博客

服务器是用来处理高并发的请求,同时能够满足扩展的业务逻辑的需求,最重要的是满足三点:并发性,稳定性,扩展性。
经历过两款上线游戏产品,见识到了游戏行业的杂乱无章,虽然和传统软件行业相比,少了那么些规范,但是对个人能力要求还真不比传统软件行业低。
今天开始,陆续利用业余时间将自己设计的一个服务器的框架贴出来,也会包好一些基本的代码,也会用到一些开源库。从最基础的讲起,首先看看一个实时网络游戏服务器的框架:
目前市面上的游戏,总的来说分为两类:
1.弱联网类游戏,像手机上的卡牌类游戏(MT,Dota传奇等),大部分逻辑在客户端处理,不需要实时联网,这类游戏只有一个玩家,而且只有PVE模式,就是打游戏中的机器人(AI),不存在玩家与玩家的实时交互。例如一场副本打斗,只有在开始和结束,才会连接服务器,请求获取或者存储数据,打斗过程由客户端计算完成,最后将战斗结果提交服务器就行了。
2.强联网类游戏,典型的就是MMORPG或者MMARPG的类型的游戏,一般常见于端游或者页游,也包含手游。在一个地图中,同时有很多玩家,任何一个玩家的状态或者属性发生变化,服务器就需要实时更新游戏中角色的状态,并且通知到周围的玩家。例如在副本中,一个玩家释放技能,攻击范围,伤害计算这些逻辑都是服务器来完成的,而客户端只需要负责特效的显示,这个过程中需要实时的数据交互。
显然,第2种,MMORPG类游戏需要服务器做更多的事情,对服务器的运算要求更高,实时性要求更高,自然实现起来更复杂。
一个大型的网落游戏服务器应该包含几个模块:网络通讯,业务逻辑,数据存储,守护监控(不是必须),其中业务逻辑可能根据具体需要,又划分为好几个子模块。
这里说的模块可以指一个进程,或者一个线程方式存在,本质上就是一些类的封装。
对于服务器的并发性,要么采用单进程多线程,要么采用多进程单线程的方式,说说两种方式的优缺点:
一、单进程多线程的服务器设计模式,只有一个进程,但一个进程包好多个线程:
网络通讯层,业务逻辑,数据存储,分别在独立的线程中,无守护进程。
1.数据共享和交换方便,使用全局变量或者单例就可以,数据存储方便。
2.单进程,服务器框架结构相对简单,编码容易。
1.所有功能只能在单个物理服务器上,不能做成分布式。
2.不方便监控各个线程状态,容易死锁
3.一个线程出错,例如内存非法访问,栈空间被破坏,那么服务器进程就退出,所有玩家掉线,影响大。
二、多进程单线程的服务器设计模式,多个进程,每个进程只有一个线程:
网路通讯,业务逻辑,数据存储,守护进程,分别在不同的进程。
1.各个进程可以分布在不同的物理服务器上,可以做成分布式的服务器框架,例如可以将数据存储单独放到一个物理服务器上,供几个区的服务器使用。将网络通讯进程独立出来,甚至可以做成导向服务器,实现跨服战。
2.可以通过守护进程监控其它进程状态,例如有进程死掉,马上重启该进程,或者某个进程cpu使用率接近100%(基本可以判断是某个逻辑死循环了), 强制kill掉该进程,然后重启。
3.单个服务器进程异常退出,只要不是网络通讯进程(一般这个都会比较稳定,没什么逻辑),那么就可以及时被守护进程重启,不会造成玩家掉线,只会造成在1-2秒内,某个逻辑功能无法使用,甚至玩家都感觉不到。
4.服务器通过共享内存进行数据交换,那么如果其中一个服务器死掉,数据还在,可以保护用户数据(当然多线程也可以使用共享内存)。
5.并发性相对多线程要高点。
1.不方便使用互斥锁,因为进程切换的时间片远远于线程切换,对于一个高并发服务器是无法允许这么高时间片的切换代价的。因此必须设计好服务器的框架,尽量避开使用锁机制,但要保证数据不出错。
2.多进程编程,在各个进程间会有很多通讯,跨服务器进程的异步消息较多,会让服务器的编码难度加大。
下面先按照一个游戏的功能,将服务器的功能分块框架画出来:
以上是一个游戏服务器最基础的功能框架图,接下来要做的就是设计服务器的框架了。
阅读(...) 评论()qiannian3tg 注册盛大分红帐号得超值奖励!
盛大分红帐号既是盛大白金帐号。
你有三种方式注册成为盛大白金帐号,享受白金帐号的所有奖励和特权!下表中列出可得到盛大白金帐号奖励的游戏,详细奖励请到官方分红用户网站查看。
&(字节数: 15231) [原创
13:40:15]&&
对于新手玩家来说,宠物加点是个很让人头疼的问题,今天我们在这里详细介绍一下,问道1—80级相关宠物的加点,希望对大家有所帮助!
进入主题:
建议加点前先看看总成长和各单成长是怎么样在来决定加点方法
如果是选择速度宠,速度成长不高加速度也没什么用,选择速度宠一定要看速度宠的成长有多高
...&(字节数: 12874) [原创
13:38:29]&&首先,请您先对号入座,如果你看去骗别人宠物,请入座“骗子”,如果你想防止被骗,请入座“玩家”。
骗子有好多种,游戏里的那些高深的骗局,像喊挂马的网址整些木马远程盗你号的卖信卖箱子的,一般人没那技术和实力,做不了。从10级就和人家套词凑近乎拉关系当人妖培养感情的,一般人没那功夫和耐心也做不了。当骗子有没有简单易行的办法?***是肯定的,有!
下面教大家一个简单易行方便实用的骗别人宠物的骗术,再次提醒,看...&(字节数: 2244) [原创
12:36:51]&&问道帐号注册教程( 推广人lincy9046详细使用与奖品领取教程 )
第1步:点击/extendes/tgxc5.aspx?UserName=lincy9046进入问道游戏帐号官方注册页面
第2步:点击"立即注册"进入注册页;
&(字节数: 1916) [原创
12:33:19]&&  《传奇世界》是一款有着庞大世界观设定和激烈竞争对抗的东方奇幻修真类2D大作。自我修炼和沙城争霸是其亮点。战士、道士、法师们运用各自的技能……
&(字节数: 2206) [原创
12:31:08]&&《蜀山新传》白金(金牌)帐号注册地址:/
(30秒注册成为白金用户,领取丰厚奖励品)
注册《蜀山新传》帐号时,通过白金(金牌)帐号注册地址:
所申请的帐号当游戏角色达到一定等级时,均可获得双倍经验卡...&(字节数: 916) [原创
12:29:11]&&盛大蜀山新传推广员号:lincy
注册蜀山新传游戏帐号时候填写推广员:lincy老用户绑定时填写推广员lincy 也可以成为白金用户。
盛大旗下游戏:蜀山新传、盛大诸侯.永恒之塔.鬼吹灯、新龙骑士、千年3、苍天、龙神传说、魔幻飞板、热血传奇、传奇世界、新热血英豪、梦幻...&(字节数: 3305)
已成功添加“”到 个分组
请不要超过6个字N年以前做外挂时的代码,现在拿出来了,给需要的人,可以运行时自动更名,加上随机类名,简直无敌,希望不要用在非法的用途。。。 & unit Unit1; interface uses Windows, Messages, SysUtils, Varia &
我们测试的服务器是Y3edge的洛杉矶CN2 - 64M! 为什么用这个服务器呢?应为他便宜还是电信CN2亚洲优化线路! 官网地址/
点击访问 第一步链接服务器 我们先登录后台找到我们的服务器 找到IP和密码登陆 &
按住回车70秒,黑客就能在linux系统绕过认证,进而获取root权限,并能远程控制经过加密的linux系统。 漏洞来源 这个安全问题来源于Cryptsetup存在的一个漏洞(CVE-)。Cryptsetup是在Linux统一密钥设置(Lin &
Windows Defender是系统自带的防御工具,Windows Vista以后版本的系统都是有自带的查是本人觉得它的功能不够强大而且会占用系统资源,而我又使用了第三方的防御工具所以关闭它是最好的选择。 方法/步骤 使用快捷键(WIN+R)调出运行工具,然 &
Xposed Installer(xposed框架)是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。当前,Per APP Setting(为每个应用设置单独的dpi或修改权 &
一加三(Oneplus Three)手机刷机步骤详解: 1. 在PC端下载一加3全能工具箱 链接: /go/1mifgda4 密码: knxq 2.使用工具箱一键***驱动或者手动*** 3.解锁手机 4.刷入第三方Recov &
“无边框”在现在看来远远不算是个新鲜词,但是它的每次出现却总会招来一波又一波瞬间投射的目光,屡试不爽,最重要的原因是直到现在还有太多品牌没有推出过类似的产品,距离无边框屏幕手机的普及依旧很远。近期小米MIX的推出再次将大家的视线拉到了“无边框”身上,然而这已非 &
TechWeb报道三星Note 7爆炸事件以来,全球范围内绝大多数产品已经得到召回,根据三星美国部分的表示,在美国地区销售的Note 7手机已经召回了85%左右,但考虑到有些产品被用户带出国或者其他什么原因,最后一小部分将会较难召回。对此他们将采取升级推送的方 &
随机文章分类目录

参考资料

 

随机推荐