第28章:新的思路
作者:伯兄      更新:2017-12-19 12:26      字数:2677

几老再耐着性子认真看了一会这款超级简陋的游戏,还真发现游戏运行得还是挺快的,虽然说长得难看了点,于是他们也纷纷打开自己的电脑从服务器上下载一个网页下来,打开之后就注册个游戏帐号登录进去,开始试着玩玩,不过不试还好一试之下问题就出来了,几老登陆了之后刚开始那一段时间还没什么,但不久之后几人都发现游戏就变得超卡了,有时都停顿好几秒,这人物本来就够难看的了,但现在更恐怖了,这人有时是刚刚跳起来,然后突然停住了,接着旁边突然飞过一个人结果两人合成一个十字形就不能再分开了,地面在走了几分钟后拉成马赛克,连人物都挡住了,结果就看清一个鼠标而已,这根本没法玩。

“这就叫速度挺快的?”

……

听着几老再次轰炸,陈经这次实在是无话可说了,刚刚明明很快的嘛,怎么多几个人来玩就差了那么远呢?他登陆了运行游戏服务端的那台IBM服务器查看一下任务管理器,一看这才发现机子的CPU已经用到100%了,连要移动一下鼠标都给等十几秒才定得下来,陈经心里就纳闷了,不是说使用PHP的效率高并且占用的系统资源比较少吗?难道自己编写的程序就那么差?怎么就占那么多资源?可是游戏已经很精简了,要再缩简就连这最基本最丑陋的界面都无法实现了。

陈经跟几老交流了一阵发现如果仅仅运行一台客户机那游戏的速度还是非常快的,但一旦再加一台就变得很慢,通过实验发现两台机的时候占用的服务器资源比一台要多四五倍,大家仔细分析发现所有的数据传输都需要通过服务器来进行,要实现这种即时游戏那服务器的压力太大了,因为在客户端Javascript有着天生的短板不适合用来联网,只能用来联接服务器和客户端,要实现客户间互联那就要把所有数据都提交到服务器再由服务器传给别的客户,所以这才会产生象刚才那样一个人玩的时候数据交换量不大,基本都集中在客户端,服务器没什么压力,但是一旦多人联网玩,由于客户端间的通讯比较麻烦只有通过服务器作中转来相互通讯,这样一来每增加一个人联网那服务器的压力就以乘方的方式增加,这就不是每加一台机只增加固定的压力,而增长到原来基数的二次方,这样折算下来服务器根本无法承担这么大的压力。

知道了原因之后陈经只能放弃这种方式了,要减少服务器压力那客户端就必须要承担更多的工作,起码各客户间的通讯要由它们本身完成,服务器最多是记录下每个客户的地址,然后客户可以通过服务器中的地址来连接到别的客户端进行通讯,这样一来的话服务器基本不用承受什么压力,这就跟时下流行的BT下载差不多,BT服务器本身不提供要下载的文件,只是提供一个很小的种子文件,所有的BT客户端都可以通过这个种子找到那个真正要下载的文件。

陈经是有这种想法,但是现今的浏览器根本不允许Javascript有这种功能,因此这想法只能胎死腹中,如果真的要实现的话那就要使用其它方式来写这个游戏,但陈经目的是仅仅使用许Javascript、CSS、HTML最多再加上一个XML这几个来实现整个客户端,如果用了其它方式比如FLASH或Java之类来实现那是比较简单的但是这样一来就符合陈经的设想了,因为他以后设想的操作系统中的虚拟浏览器只能实现Javascript、CSS、HTML和XML四种基本功能,现在设计的游戏就是为了以后练手用的。

一听这个想法,几老也没辙了,他们设计的这个系统其实也仅仅是实现这四种功能而已,如果他们设计出了这个系统还好说,那样他们可以使用类似服务器端技术,建立一个比较特殊的Javascript,赋予它修改本地文件的功能,也可以给它增加一些新的功能函数,比如实现Socket功能这样就可以直接在随意两台装有这个系统的计算机之间通讯了,但是现在还远着呢,所以只能立足于现今存在的浏览器着手。

陈经和众人想了许久,但大家最终还是放弃了,因为实在没有那种方式可以实现这种类似P2P的功能,只是陈经很不甘心,这半年来的工作相当于白费了,为此他这段时间心情很不好,去实验室后无精打采地,这不他又在电脑前发呆了,这时几人中最急躁的陆风源终于看不下去了,走过来对陈经说:“小子,这几天都黑着脸干嘛,想扮包公啊!不就是一次失败嘛有什么大不了的,而且游戏虽然难看了点但起码能运行了吧,不能联网又不是你的错,是浏览器方面的问题,这不怪你要怪就怪那些狗屁软件公司,设计个浏览器怎么就不能增加一些通讯接口。”

陆风源也只是唠叨几句安慰一下陈经而已,但陈经听后却好象灵光一闪,但再想的时候又没感觉了,他忙起来再让陆风源重复刚才那些话。

“要我重复干嘛?我刚才说不就是一次失败嘛你……”

“不是这句跳过批判我的话吧。”

“下句应该是说要怪那些软件公司吧,设计个浏览器都……”

“对了,就是这了,设计浏览器,是啊,现在的浏览器不支持难道我不就能设计一个支持的浏览器吗?”说完这话陈经几日来的阴霾一扫而空。

几老听到后也是豁然开朗,觉得这是个办法,而且在设计这个浏览器时可以先集成一些在以后设计出来的操作系统中需要用到的基本功能,这样使用这个浏览器的时候就跟使用将来设计出来的操作系统差不多了,可以干脆把这个浏览器当作一个虚拟的操作系统,可以通过这个浏览器来为将来的操作系统编写、测试软件,这样就能大大缩短将来操作系统设计的一些步骤,甚至很多软件都可以直接移植到操作系统中去,这一想法很快就得到了大家的赞同,于是大家就事先列出将来设计出的操作系统应该会有那些功能,然后设计浏览器的时候就要集成这些功能进去。