幾老再耐著性子認真看了一會這款超級簡陋的遊戲,還真發現遊戲運行得還是挺快的,雖然說長得難看了點,於是他們也紛紛打開自己的電腦從服務器上下載一個網頁下來,打開之後就注冊個遊戲帳號登錄進去,開始試著玩玩,不過不試還好一試之下問題就出來了,幾老登陸了之後剛開始那一段時間還沒什麽,但不久之後幾人都發現遊戲就變得超卡了,有時都停頓好幾秒,這人物本來就夠難看的了,但現在更恐怖了,這人有時是剛剛跳起來,然後突然停住了,接著旁邊突然飛過一個人結果兩人合成一個十字形就不能再分開了,地麵在走了幾分鍾後拉成馬賽克,連人物都擋住了,結果就看清一個鼠標而已,這根本沒法玩。
“這就叫速度挺快的?”
……
聽著幾老再次轟炸,陳經這次實在是無話可說了,剛剛明明很快的嘛,怎麽多幾個人來玩就差了那麽遠呢?他登陸了運行遊戲服務端的那台ibm服務器查看一下任務管理器,一看這才發現機子的cpu已經用到100%了,連要移動一下鼠標都給等十幾秒才定得下來,陳經心裏就納悶了,不是說使用php的效率高並且占用的係統資源比較少嗎?難道自己編寫的程序就那麽差?怎麽就占那麽多資源?可是遊戲已經很精簡了,要再縮簡就連這最基本最醜陋的界麵都無法實現了。
陳經跟幾老交流了一陣發現如果僅僅運行一台客戶機那遊戲的速度還是非常快的,但一旦再加一台就變得很慢,通過實驗發現兩台機的時候占用的服務器資源比一台要多四五倍,大家仔細分析發現所有的數據傳輸都需要通過服務器來進行,要實現這種即時遊戲那服務器的壓力太大了,因為在客戶端javascript有著天生的短板不適合用來聯網,隻能用來聯接服務器和客戶端,要實現客戶間互聯那就要把所有數據都提交到服務器再由服務器傳給別的客戶,所以這才會產生象剛才那樣一個人玩的時候數據交換量不大,基本都集中在客戶端,服務器沒什麽壓力,但是一旦多人聯網玩,由於客戶端間的通訊比較麻煩隻有通過服務器作中轉來相互通訊,這樣一來每增加一個人聯網那服務器的壓力就以乘方的方式增加,這就不是每加一台機隻增加固定的壓力,而增長到原來基數的二次方,這樣折算下來服務器根本無法承擔這麽大的壓力。
知道了原因之後陳經隻能放棄這種方式了,要減少服務器壓力那客戶端就必須要承擔更多的工作,起碼各客戶間的通訊要由它們本身完成,服務器最多是記錄下每個客戶的地址,然後客戶可以通過服務器中的地址來連接到別的客戶端進行通訊,這樣一來的話服務器基本不用承受什麽壓力,這就跟時下流行的bt下載差不多,bt服務器本身不提供要下載的文件,隻是提供一個很小的種子文件,所有的bt客戶端都可以通過這個種子找到那個真正要下載的文件。
陳經是有這種想法,但是現今的瀏覽器根本不允許javascript有這種功能,因此這想法隻能胎死腹中,如果真的要實現的話那就要使用其它方式來寫這個遊戲,但陳經目的是僅僅使用許javascript、css、html最多再加上一個xml這幾個來實現整個客戶端,如果用了其它方式比如sh或java之類來實現那是比較簡單的但是這樣一來就符合陳經的設想了,因為他以後設想的操作係統中的虛擬瀏覽器隻能實現javascript、css、html和xml四種基本功能,現在設計的遊戲就是為了以後練手用的。
一聽這個想法,幾老也沒轍了,他們設計的這個係統其實也僅僅是實現這四種功能而已,如果他們設計出了這個係統還好說,那樣他們可以使用類似服務器端技術,建立一個比較特殊的javascript,賦予它修改本地文件的功能,也可以給它增加一些新的功能函數,比如實現socket功能這樣就可以直接在隨意兩台裝有這個係統的計算機之間通訊了,但是現在還遠著呢,所以隻能立足於現今存在的瀏覽器著手。
陳經和眾人想了許久,但大家最終還是放棄了,因為實在沒有那種方式可以實現這種類似p2p的功能,隻是陳經很不甘心,這半年來的工作相當於白費了,為此他這段時間心情很不好,去實驗室後無精打采地,這不他又在電腦前發呆了,這時幾人中最急躁的陸風源終於看不下去了,走過來對陳經說:“小子,這幾天都黑著臉幹嘛,想扮包公啊!不就是一次失敗嘛有什麽大不了的,而且遊戲雖然難看了點但起碼能運行了吧,不能聯網又不是你的錯,是瀏覽器方麵的問題,這不怪你要怪就怪那些狗屁軟件公司,設計個瀏覽器怎麽就不能增加一些通訊接口。”
陸風源也隻是嘮叨幾句安慰一下陳經而已,但陳經聽後卻好象靈光一閃,隻是再想的時候又沒感覺了,他忙起來再讓陸風源重複剛才那些話。
“要我重複幹嘛?我剛才說不就是一次失敗嘛你……”
“不是這句跳過批判我的話吧。”
“下句應該是說要怪那些軟件公司吧,設計個瀏覽器都……”
“對了,就是這了,設計瀏覽器,是啊,現在的瀏覽器不支持難道我不就能設計一個支持的瀏覽器嗎?”說完這話陳經幾日來的陰霾一掃而空。
幾老聽到後也是豁然開朗,覺得這是個辦法,而且在設計這個瀏覽器時可以先集成一些在以後設計出來的操作係統中需要用到的基本功能,這樣使用這個瀏覽器的時候就跟使用將來設計出來的操作係統差不多了,可以幹脆把這個瀏覽器當作一個虛擬的操作係統,可以通過這個瀏覽器來為將來的操作係統編寫、測試軟件,這樣就能大大縮短將來操作係統設計的一些步驟,甚至很多軟件都可以直接移植到操作係統中去,這一想法很快就得到了大家的讚同,於是大家就事先列出將來設計出的操作係統應該會有那些功能,然後設計瀏覽器的時候就要集成這些功能進去。
“這就叫速度挺快的?”
……
聽著幾老再次轟炸,陳經這次實在是無話可說了,剛剛明明很快的嘛,怎麽多幾個人來玩就差了那麽遠呢?他登陸了運行遊戲服務端的那台ibm服務器查看一下任務管理器,一看這才發現機子的cpu已經用到100%了,連要移動一下鼠標都給等十幾秒才定得下來,陳經心裏就納悶了,不是說使用php的效率高並且占用的係統資源比較少嗎?難道自己編寫的程序就那麽差?怎麽就占那麽多資源?可是遊戲已經很精簡了,要再縮簡就連這最基本最醜陋的界麵都無法實現了。
陳經跟幾老交流了一陣發現如果僅僅運行一台客戶機那遊戲的速度還是非常快的,但一旦再加一台就變得很慢,通過實驗發現兩台機的時候占用的服務器資源比一台要多四五倍,大家仔細分析發現所有的數據傳輸都需要通過服務器來進行,要實現這種即時遊戲那服務器的壓力太大了,因為在客戶端javascript有著天生的短板不適合用來聯網,隻能用來聯接服務器和客戶端,要實現客戶間互聯那就要把所有數據都提交到服務器再由服務器傳給別的客戶,所以這才會產生象剛才那樣一個人玩的時候數據交換量不大,基本都集中在客戶端,服務器沒什麽壓力,但是一旦多人聯網玩,由於客戶端間的通訊比較麻煩隻有通過服務器作中轉來相互通訊,這樣一來每增加一個人聯網那服務器的壓力就以乘方的方式增加,這就不是每加一台機隻增加固定的壓力,而增長到原來基數的二次方,這樣折算下來服務器根本無法承擔這麽大的壓力。
知道了原因之後陳經隻能放棄這種方式了,要減少服務器壓力那客戶端就必須要承擔更多的工作,起碼各客戶間的通訊要由它們本身完成,服務器最多是記錄下每個客戶的地址,然後客戶可以通過服務器中的地址來連接到別的客戶端進行通訊,這樣一來的話服務器基本不用承受什麽壓力,這就跟時下流行的bt下載差不多,bt服務器本身不提供要下載的文件,隻是提供一個很小的種子文件,所有的bt客戶端都可以通過這個種子找到那個真正要下載的文件。
陳經是有這種想法,但是現今的瀏覽器根本不允許javascript有這種功能,因此這想法隻能胎死腹中,如果真的要實現的話那就要使用其它方式來寫這個遊戲,但陳經目的是僅僅使用許javascript、css、html最多再加上一個xml這幾個來實現整個客戶端,如果用了其它方式比如sh或java之類來實現那是比較簡單的但是這樣一來就符合陳經的設想了,因為他以後設想的操作係統中的虛擬瀏覽器隻能實現javascript、css、html和xml四種基本功能,現在設計的遊戲就是為了以後練手用的。
一聽這個想法,幾老也沒轍了,他們設計的這個係統其實也僅僅是實現這四種功能而已,如果他們設計出了這個係統還好說,那樣他們可以使用類似服務器端技術,建立一個比較特殊的javascript,賦予它修改本地文件的功能,也可以給它增加一些新的功能函數,比如實現socket功能這樣就可以直接在隨意兩台裝有這個係統的計算機之間通訊了,但是現在還遠著呢,所以隻能立足於現今存在的瀏覽器著手。
陳經和眾人想了許久,但大家最終還是放棄了,因為實在沒有那種方式可以實現這種類似p2p的功能,隻是陳經很不甘心,這半年來的工作相當於白費了,為此他這段時間心情很不好,去實驗室後無精打采地,這不他又在電腦前發呆了,這時幾人中最急躁的陸風源終於看不下去了,走過來對陳經說:“小子,這幾天都黑著臉幹嘛,想扮包公啊!不就是一次失敗嘛有什麽大不了的,而且遊戲雖然難看了點但起碼能運行了吧,不能聯網又不是你的錯,是瀏覽器方麵的問題,這不怪你要怪就怪那些狗屁軟件公司,設計個瀏覽器怎麽就不能增加一些通訊接口。”
陸風源也隻是嘮叨幾句安慰一下陳經而已,但陳經聽後卻好象靈光一閃,隻是再想的時候又沒感覺了,他忙起來再讓陸風源重複剛才那些話。
“要我重複幹嘛?我剛才說不就是一次失敗嘛你……”
“不是這句跳過批判我的話吧。”
“下句應該是說要怪那些軟件公司吧,設計個瀏覽器都……”
“對了,就是這了,設計瀏覽器,是啊,現在的瀏覽器不支持難道我不就能設計一個支持的瀏覽器嗎?”說完這話陳經幾日來的陰霾一掃而空。
幾老聽到後也是豁然開朗,覺得這是個辦法,而且在設計這個瀏覽器時可以先集成一些在以後設計出來的操作係統中需要用到的基本功能,這樣使用這個瀏覽器的時候就跟使用將來設計出來的操作係統差不多了,可以幹脆把這個瀏覽器當作一個虛擬的操作係統,可以通過這個瀏覽器來為將來的操作係統編寫、測試軟件,這樣就能大大縮短將來操作係統設計的一些步驟,甚至很多軟件都可以直接移植到操作係統中去,這一想法很快就得到了大家的讚同,於是大家就事先列出將來設計出的操作係統應該會有那些功能,然後設計瀏覽器的時候就要集成這些功能進去。