freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

游戲服務(wù)器架構(gòu)(已修改)

2024-10-13 20:02 本頁(yè)面
 

【正文】 第一篇:游戲服務(wù)器架構(gòu),如果你要是想用自己的就把sa賬戶的密碼修改成自己的不過(guò)要修改五去文件導(dǎo)入備份數(shù)據(jù)庫(kù)再導(dǎo)入這個(gè)(方法和上面同樣)多了兩個(gè)數(shù)據(jù)庫(kù),這就是游戲的數(shù)據(jù)庫(kù)現(xiàn)在數(shù)據(jù)庫(kù)完了,可以為自己注冊(cè)個(gè)賬號(hào)來(lái)測(cè)試了服務(wù)器做好了,現(xiàn)在來(lái)安裝客戶端現(xiàn)在只要把服務(wù)器的服務(wù)開啟客戶端就可能進(jìn)入游戲了我沒(méi)有全部開啟因我只是做測(cè)試,一個(gè)人玩就開這么多就行了,要是多人玩就全開開啟服務(wù)時(shí)在winows2003中正規(guī)服務(wù)器1線到3線可能開啟不了,解決方法:我的電腦屬性高級(jí)設(shè)置實(shí)驗(yàn)結(jié)果:在一臺(tái)機(jī)子上我用的兩個(gè)虛機(jī)太卡了所以我就不進(jìn)入游戲了,有興趣的把郵箱留下我可以把服務(wù)器軟件發(fā)給你第二篇:[zz]游戲服務(wù)器架構(gòu)探討(上)[zz]游戲服務(wù)器架構(gòu)探討(上)20081031 1116這里討論的游戲服務(wù)器架構(gòu)大概是目前國(guó)內(nèi)乃至世界上的網(wǎng)游通用的一種架構(gòu)了:=93775 作者:qinglan有段時(shí)間沒(méi)有研究技術(shù)了,這次正好看到了新版的mangos,較之以前我看的版本有了比較大的完善,于是再次瀏覽了下他的代碼,也借此機(jī)會(huì)整理下我在游戲服務(wù)器開發(fā)方面的一些心得,與大家探討。另外由于為避免與公司引起一些不必要的糾紛,我所描述的全都是通過(guò)google能夠找到的資料,所以也可以認(rèn)為我下面的內(nèi)容都是網(wǎng)上所找資料的整理合集。在平時(shí)的開發(fā)中我也搜索過(guò)相關(guān)的中文網(wǎng)頁(yè),很少有講游戲服務(wù)器相關(guān)技術(shù)的,大家的討論主要還是集中在3D相關(guān)技術(shù),所以也希望我將開始的這幾篇文章能夠起到拋磚引玉的作用,潛水的兄弟們也都上來(lái)透透氣。要描述一項(xiàng)技術(shù)或是一個(gè)行業(yè),一般都會(huì)從其最古老的歷史開始說(shuō)起,我本也想按著這個(gè)套路走,無(wú)奈本人乃一八零后小輩,沒(méi)有經(jīng)歷過(guò)那些苦澀的卻令人羨慕的單機(jī)游戲開發(fā),也沒(méi)有響當(dāng)當(dāng)?shù)哪玫某鍪值膬?yōu)秀作品,所以也就只能就我所了解的一些技術(shù)做些簡(jiǎn)單的描述。一來(lái)算是敦促自己對(duì)知識(shí)做個(gè)梳理,二來(lái)與大家探討的過(guò)程也能夠找到我之前學(xué)習(xí)的不足和理解上的錯(cuò)誤,最后呢,有可能的話也跟業(yè)內(nèi)的同行們混個(gè)臉熟,哪天要是想換個(gè)工作了也好有個(gè)人幫忙介紹下。最后的理由有些俗了。關(guān)于游戲開發(fā),正如云風(fēng)在其blog上所說(shuō),游戲項(xiàng)目始終只是個(gè)小工程,另外開發(fā)時(shí)間還是個(gè)很重要的問(wèn)題,所以軟件工程的思想及方法在大部分的游戲公司中并不怎么受歡迎。當(dāng)然這也只是從我個(gè)人一些膚淺的了解所得,可能不夠充分。從游戲開發(fā)的程序團(tuán)隊(duì)的人員構(gòu)成上也可看出來(lái),基本只能算作是小開發(fā)團(tuán)隊(duì)。有些工作室性質(zhì)的開發(fā)團(tuán)隊(duì),那就更簡(jiǎn)單了。我所了解的早些的開發(fā)團(tuán)隊(duì),其成員間沒(méi)有什么嚴(yán)格的分工,大家憑興趣自由選擇一些模塊來(lái)負(fù)責(zé),完成了再去負(fù)責(zé)另一模塊,有其他同事的工作需要接手或協(xié)助的也會(huì)立即轉(zhuǎn)入。所以游戲開發(fā)人員基本都是多面手,從網(wǎng)絡(luò)到數(shù)據(jù)庫(kù),從游戲邏輯到圖形圖象,每一項(xiàng)都有所了解,并能實(shí)際應(yīng)用?;蛘哒f(shuō)都具有非常強(qiáng)的學(xué)習(xí)能力,在接手一項(xiàng)新的任務(wù)后能在很短的時(shí)間內(nèi)對(duì)該領(lǐng)域的技術(shù)迅速掌握并消化,而且還能現(xiàn)炒現(xiàn)賣。當(dāng)然,這也與早期2D游戲的技術(shù)要求相對(duì)比較簡(jiǎn)單,游戲邏輯也沒(méi)有現(xiàn)在這般復(fù)雜有關(guān)。而更重要的可能是,都是被逼出來(lái)的吧!)好了,閑話少說(shuō),下一篇,也就是第一篇了,主題為,服務(wù)器結(jié)構(gòu)探討。服務(wù)器結(jié)構(gòu)探討最簡(jiǎn)單的結(jié)構(gòu)所謂服務(wù)器結(jié)構(gòu),也就是如何將服務(wù)器各部分合理地安排,以實(shí)現(xiàn)最初的功能需求。所以,結(jié)構(gòu)本無(wú)所謂正確與錯(cuò)誤;當(dāng)然,優(yōu)秀的結(jié)構(gòu)更有助于系統(tǒng)的搭建,對(duì)系統(tǒng)的可擴(kuò)展性及可維護(hù)性也有更大的幫助。好的結(jié)構(gòu)不是一蹴而就的,而且每個(gè)設(shè)計(jì)者心中的那把尺都不相同,所以這個(gè)優(yōu)秀結(jié)構(gòu)的定義也就沒(méi)有定論。在這里,我們不打算對(duì)現(xiàn)有游戲結(jié)構(gòu)做評(píng)價(jià),而是試著從頭開始搭建一個(gè)我們需要的MMOG結(jié)構(gòu)。對(duì)于一個(gè)最簡(jiǎn)單的游戲服務(wù)器來(lái)說(shuō),它只需要能夠接受來(lái)自客戶端的連接請(qǐng)求,然后處理客戶端在游戲世界中的移動(dòng)及交互,也即游戲邏輯處理即可。如果我們把這兩項(xiàng)功能集成到一個(gè)服務(wù)進(jìn)程中,則最終的結(jié)構(gòu)很簡(jiǎn)單:clientserver嗯,太簡(jiǎn)單了點(diǎn),這樣也敢叫服務(wù)器結(jié)構(gòu)?好吧,現(xiàn)在我們來(lái)往里面稍稍加點(diǎn)東西,讓它看起來(lái)更像是服務(wù)器結(jié)構(gòu)一些。一般來(lái)說(shuō),我們?cè)诮尤胗螒蚍?wù)器的時(shí)候都會(huì)要提供一個(gè)帳號(hào)和密碼,驗(yàn)證通過(guò)后才能進(jìn)入。關(guān)于為什么要提供用戶名和密碼才能進(jìn)入的問(wèn)題我們這里不打算做過(guò)多討論,云風(fēng)曾對(duì)此也提出過(guò)類似的疑問(wèn),并給出了只用一個(gè)標(biāo)識(shí)串就能進(jìn)入的設(shè)想,有興趣的可以去看看他們的討論。但不管是采用何種方式進(jìn)入,照目前看來(lái)我們的服務(wù)器起碼得提供一個(gè)帳號(hào)驗(yàn)證的功能。我們把觀察點(diǎn)先集中在一個(gè)大區(qū)內(nèi)。在大多數(shù)情況下,一個(gè)大區(qū)內(nèi)都會(huì)有多組游戲服,也就是多個(gè)游戲世界可供選擇。簡(jiǎn)單點(diǎn)來(lái)實(shí)現(xiàn),我們完全可以拋棄這個(gè)大區(qū)的概念,認(rèn)為一個(gè)大區(qū)也就是放在同一個(gè)機(jī)房的多臺(tái)服務(wù)器組,各服務(wù)器組間沒(méi)有什么關(guān)系。這樣,我們可為每組服務(wù)器單獨(dú)配備一臺(tái)登錄服。最后的結(jié)構(gòu)圖應(yīng)該像這樣:loginServer gameServer client該結(jié)構(gòu)下的玩家操作流程為,先選擇大區(qū),再選擇大區(qū)下的某臺(tái)服務(wù)器,即某個(gè)游戲世界,點(diǎn)擊進(jìn)入后開始帳號(hào)驗(yàn)證過(guò)程,驗(yàn)證成功則進(jìn)入了該游戲世界。但是,如果玩家想要切換游戲世界,他只能先退出當(dāng)前游戲世界,然后進(jìn)入新的游戲世界重新進(jìn)行帳號(hào)驗(yàn)證。早期的游戲大都采用的是這種結(jié)構(gòu),有些游戲在實(shí)現(xiàn)時(shí)采用了一些技術(shù)手段使得在切換游戲服時(shí)不需要再次驗(yàn)證帳號(hào),但整體結(jié)構(gòu)還是未做改變。該結(jié)構(gòu)存在一個(gè)服務(wù)器資源配置的問(wèn)題。因?yàn)榈卿浄幚淼倪壿嬒鄬?duì)來(lái)說(shuō)比較簡(jiǎn)單,就是將玩家提交的帳號(hào)和密碼送到數(shù)據(jù)庫(kù)進(jìn)行驗(yàn)證,和生成會(huì)話密鑰發(fā)送給游戲服和客戶端,操作完成后連接就會(huì)立即斷開,而且玩家在以后的游戲過(guò)程中不會(huì)再與登錄服打任何交道。這樣處理短連接的過(guò)程使得系統(tǒng)在大多數(shù)情況下都是比較空閑的,但是在某些時(shí)候,由于請(qǐng)求比較密集,比如開新服的時(shí)候,登錄服的負(fù)載又會(huì)比較大,甚至?xí)幚聿贿^(guò)來(lái)。另外在實(shí)際的游戲運(yùn)營(yíng)中,有些游戲世界很火爆,而有些游戲世界卻非常冷清,甚至沒(méi)有多少人玩的情況也是很常見的。所以,我們能否更合理地配置登錄服資源,使得整個(gè)大區(qū)內(nèi)的登錄服可以共享就成了下一步改進(jìn)的目標(biāo)。服務(wù)器結(jié)構(gòu)探討登錄服的負(fù)載均衡回想一下我們?cè)谕鎤ow時(shí)的操作流程:,首先就會(huì)要求我們輸入用戶名和密碼進(jìn)行驗(yàn)證,驗(yàn)證成功后才會(huì)出來(lái)游戲世界列表,之后是排隊(duì)進(jìn)入游戲世界,開始游戲...可以看到跟前面的描述有個(gè)很明顯的不同,那就是要先驗(yàn)證帳號(hào)再選擇游戲世界。這種結(jié)構(gòu)也就使得登錄服不是固定配備給個(gè)游戲世界,而是全區(qū)共有的。我們可以試著從實(shí)際需求的角度來(lái)考慮一下這個(gè)問(wèn)題。正如我們之前所描述過(guò)的那樣,登錄服在大多數(shù)情況下都是比較空閑的,也許我們的一個(gè)擁有20個(gè)游戲世界的大區(qū)僅僅使用10臺(tái)或更少的登錄服即可滿足需求。而當(dāng)在開新區(qū)的時(shí)候,或許要配備40臺(tái)登錄服才能應(yīng)付那如潮水般涌入的玩家登錄請(qǐng)求。所以,登錄服在設(shè)計(jì)上應(yīng)該能滿足這種動(dòng)態(tài)增刪的需求,我們可以在任何時(shí)候?yàn)榇髤^(qū)增加或減少登錄服的部署。當(dāng)然,在這里也不會(huì)存在要求添加太多登錄服的情況。還是拿開新區(qū)的情況來(lái)說(shuō),即使新增加登錄服滿足了玩家登錄的請(qǐng)求,游戲世界服的承載能力依然有限,玩家一樣只能在排隊(duì)系統(tǒng)中等待,或者是進(jìn)入到游戲世界中導(dǎo)致大家都卡。另外,當(dāng)我們?cè)谠黾踊蛞瞥卿浄臅r(shí)候不應(yīng)該需要對(duì)游戲世界服有所改動(dòng),也不會(huì)要求重啟世界服,當(dāng)然也不應(yīng)該要求客戶端有什么更新或者修改,一切都是在背后自動(dòng)完成。最后,有關(guān)數(shù)據(jù)持久化的問(wèn)題也在這里考慮一下。一般來(lái)說(shuō),使用現(xiàn)有的商業(yè)數(shù)據(jù)庫(kù)系統(tǒng)比自己手工技術(shù)先進(jìn)要明智得多。我們需要持久化的數(shù)據(jù)有玩家的帳號(hào)及密碼,玩家創(chuàng)建的角色相關(guān)信息,另外還有一些游戲世界全局共有數(shù)據(jù)也需要持久化。好了,需求已經(jīng)提出來(lái)了,現(xiàn)在來(lái)考慮如何將其實(shí)現(xiàn)。對(duì)于負(fù)載均衡來(lái)說(shuō),已有了成熟的解決方案。一般最常用,也最簡(jiǎn)單部署的應(yīng)該是基于DNS的負(fù)載均衡系統(tǒng)了,其通過(guò)在DNS中為一個(gè)域名配置多個(gè)IP地址來(lái)實(shí)現(xiàn)。最新的DNS服務(wù)已實(shí)現(xiàn)了根據(jù)服務(wù)器系統(tǒng)狀態(tài)來(lái)實(shí)現(xiàn)的動(dòng)態(tài)負(fù)載均衡,也就是實(shí)現(xiàn)了真正意義上的負(fù)載均衡,這樣也就有效地解決了當(dāng)某臺(tái)登錄服當(dāng)機(jī)后,DNS服務(wù)器不能立即做出反應(yīng)的問(wèn)題。當(dāng)然,如果找不到這樣的解決方案,自己從頭打造一個(gè)也并不難。而且,通過(guò)DNS來(lái)實(shí)現(xiàn)的負(fù)載均衡已經(jīng)包含了所做的修改對(duì)登錄服及客戶端的透明。而對(duì)于數(shù)據(jù)庫(kù)的應(yīng)用,在這種結(jié)構(gòu)下,登錄服及游戲世界服都會(huì)需要連接數(shù)據(jù)庫(kù)。從數(shù)據(jù)庫(kù)服務(wù)器的部署上來(lái)說(shuō),可以將帳號(hào)和角色數(shù)據(jù)都放在一個(gè)中心數(shù)據(jù)庫(kù)中,也可分為兩個(gè)不同的庫(kù)分別來(lái)處理,基到從物理上分到兩臺(tái)不同的服務(wù)器上去也行。但是對(duì)于不同的游戲世界來(lái)說(shuō),其角色及游戲內(nèi)數(shù)據(jù)都是互相獨(dú)立的,所以一般情況下也就為每個(gè)游戲世界單獨(dú)配備一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器,以減輕數(shù)據(jù)庫(kù)的壓力。所以,整體的服務(wù)器結(jié)構(gòu)應(yīng)該是一個(gè)大區(qū)有一臺(tái)帳號(hào)數(shù)據(jù)庫(kù)服務(wù)器,所有的登錄服都連接到這里。而每個(gè)游戲世界都有自己的游戲數(shù)據(jù)庫(kù)服務(wù)器,只允許本游戲世界內(nèi)的服務(wù)器連接。最后,我們的服務(wù)器結(jié)構(gòu)就像這樣:大區(qū)服務(wù)器登錄服1 登錄服2 世界服1 世界服2帳號(hào)數(shù)據(jù)庫(kù) DBS DBS這里既然討論到了大區(qū)及帳號(hào)數(shù)據(jù)庫(kù),所以順帶也說(shuō)一下關(guān)于激活大區(qū)的概念。wow中一共有八個(gè)大區(qū),我們想要進(jìn)入某個(gè)大區(qū)游戲之前,必須到官網(wǎng)上激活這個(gè)區(qū),這是為什么呢?一般來(lái)說(shuō),在各個(gè)大區(qū)帳號(hào)數(shù)據(jù)庫(kù)之上還有一個(gè)總的帳號(hào)數(shù)據(jù)庫(kù),我們可以稱它為中心數(shù)據(jù)庫(kù)。比如我們?cè)诠倬W(wǎng)上注冊(cè)了一個(gè)帳號(hào),這時(shí)帳號(hào)數(shù)據(jù)是只保存在中心數(shù)據(jù)庫(kù)上的。而當(dāng)我們要到一區(qū)去創(chuàng)建角色開始游戲的時(shí)候,在一區(qū)的帳號(hào)數(shù)據(jù)庫(kù)中并沒(méi)有我們的帳號(hào)數(shù)據(jù),所以,我們必須先到官網(wǎng)上做一次激活操作。這個(gè)激活的過(guò)程也就是從中心庫(kù)上把我們的帳號(hào)數(shù)據(jù)拷貝到所要到的大區(qū)帳號(hào)數(shù)據(jù)庫(kù)中。服務(wù)器結(jié)構(gòu)探討簡(jiǎn)單的世界服實(shí)現(xiàn)討論了這么久我們一直都還沒(méi)有進(jìn)入游戲世界服務(wù)器內(nèi)部,現(xiàn)在就讓我們來(lái)窺探一下里面的結(jié)構(gòu)吧。對(duì)于現(xiàn)在大多數(shù)MMORPG來(lái)說(shuō),游戲服務(wù)器要處理的基本邏輯有移動(dòng)、聊天、技能、物品、任務(wù)和生物等,另外還有地圖管理與消息廣播來(lái)對(duì)其他高級(jí)功能做支撐。如縱隊(duì)、好友、公會(huì)、戰(zhàn)場(chǎng)和副本等,這些都是通過(guò)基本邏輯功能組合或擴(kuò)展而成。在所有這些基礎(chǔ)邏輯中,與我們要討論的服務(wù)器結(jié)構(gòu)關(guān)系最緊密的當(dāng)屬地圖管理方式。決定了地圖的管理方式也就決定了我們的服務(wù)器結(jié)構(gòu),我們?nèi)匀幌葟淖詈?jiǎn)單的實(shí)現(xiàn)方式開始說(shuō)起?;叵胍幌挛覀?cè)鴳?zhàn)斗過(guò)無(wú)數(shù)個(gè)夜晚的暗黑破壞神,整個(gè)暗黑的世界被分為了若干個(gè)獨(dú)立的小地圖,當(dāng)我們?cè)诘貓D間穿越時(shí),一般都要經(jīng)過(guò)一個(gè)叫做傳送門的裝置。世界中有些地圖間雖然在地理上是直接相連的,但我們發(fā)現(xiàn)其游戲內(nèi)部的邏輯卻是完全隔離的??梢赃@樣認(rèn)為,一塊地圖就是一個(gè)獨(dú)立的數(shù)據(jù)處理單元。既然如此,我們就把每塊地圖都當(dāng)作是一臺(tái)獨(dú)立的服務(wù)器,他提供了在這塊地圖上游戲時(shí)的所有邏輯功能,至于內(nèi)部結(jié)構(gòu)如何劃分我們暫不理會(huì),先把他當(dāng)作一個(gè)黑盒子吧。當(dāng)兩個(gè)人合作做一件事時(shí),我們可以以對(duì)等的關(guān)系相互協(xié)商著來(lái)做,而且一般也都不會(huì)有什么問(wèn)題。當(dāng)人數(shù)增加到三個(gè)時(shí),我們對(duì)等的合作關(guān)系可能會(huì)有些復(fù)雜,因?yàn)槲覀兠總€(gè)人都同時(shí)要與另兩個(gè)人合作協(xié)商。正如俗語(yǔ)所說(shuō)的那樣,三個(gè)和尚可能會(huì)碰到?jīng)]水喝的情況。當(dāng)人數(shù)繼續(xù)增加,情況就變得不那么簡(jiǎn)單了,我們得需要一個(gè)管理者來(lái)對(duì)我們的工作進(jìn)行分工、協(xié)調(diào)。游戲的地圖服務(wù)器之間也是這么回事。一般來(lái)說(shuō),我們的游戲世界不可能會(huì)只有一塊或者兩塊小地圖,那順理成章的,也就需要一個(gè)地圖管理者。先稱它為游戲世界的中心服務(wù)器吧,畢竟是管理者嘛,大家都以它為中心。中心服務(wù)器主要維護(hù)一張地圖ID到地圖服務(wù)器地址的映射表。當(dāng)我們要進(jìn)入某張地圖時(shí),會(huì)從中心服上取得該地圖的IP和port告訴客戶端,客戶端主動(dòng)去連接,這樣進(jìn)入他想要去的游戲地圖。在整個(gè)游戲過(guò)程中,客戶端始終只會(huì)與一臺(tái)地圖服務(wù)器保持連接,當(dāng)要切換地圖的時(shí)候,在獲取到新地圖的地址后,會(huì)先與當(dāng)前地圖斷開連接,再進(jìn)入新的地圖,這樣保證玩家數(shù)據(jù)在服務(wù)器上只有一份。我們來(lái)看看結(jié)構(gòu)圖是怎樣的:中心服務(wù)器登錄服 地圖1 地圖2 地圖n客戶端很簡(jiǎn)單,不是嗎。但是簡(jiǎn)單并不表示功能上會(huì)有什么損失,簡(jiǎn)單也更不能表示游戲不能賺錢。早期不少游戲也確實(shí)采用的就是這種簡(jiǎn)單結(jié)構(gòu)。服務(wù)器結(jié)構(gòu)探討繼續(xù)世界服都已經(jīng)看出來(lái)了,這種每切換一次地圖就要重新連接服務(wù)器的方式實(shí)在是不夠優(yōu)雅,而且在實(shí)際游戲運(yùn)營(yíng)中也發(fā)現(xiàn),地圖切換導(dǎo)致的卡號(hào),復(fù)制裝備等問(wèn)題非常多,這里完全就是一個(gè)事故多發(fā)地段,如何避免這種頻繁的連接操作呢?最直接的方法就是把那個(gè)圖倒轉(zhuǎn)過(guò)來(lái)就行了??蛻舳酥恍枰B接到中心服上,所有到地圖服務(wù)器的數(shù)據(jù)都由中心服來(lái)轉(zhuǎn)發(fā)。很完美的解決方案,不是嗎?這種結(jié)構(gòu)在實(shí)際的部署中也遇到了一些挑戰(zhàn)。對(duì)于一般的MMORPG服務(wù)器來(lái)說(shuō),單臺(tái)服務(wù)器的承載量平均在2000左右,如果你的服務(wù)器很不幸地只能帶 1000人,沒(méi)關(guān)系,不少游戲都是如此;如果你的服務(wù)器上跑了3000多玩家依然比較流暢,那你可以自豪地告訴你的策劃,多設(shè)計(jì)些大量消耗服務(wù)器資源的玩法吧,比如大型國(guó)戰(zhàn)、公會(huì)戰(zhàn)爭(zhēng)等。2000人,似乎我們的策劃朋友們不大愿意接受這個(gè)數(shù)字。我們將地圖服務(wù)器分開來(lái)原來(lái)也是想將負(fù)載分開,以多帶些客戶端,現(xiàn)在要所有的連接都從中心服上轉(zhuǎn)發(fā),那連接數(shù)又遇到單臺(tái)服務(wù)器的可最大承載量的瓶頸了。這里有必要再解釋下這個(gè)數(shù)字。我知道,有人一定會(huì)說(shuō),才帶2000人,那是你水平不行,我隨便寫個(gè)TCP服務(wù)器都可帶個(gè)五六千連接。問(wèn)題恰恰在于你是隨便寫的,而MMORPG的服務(wù)器是復(fù)雜設(shè)計(jì)的。如果一個(gè)演示socket API用的echo服務(wù)器就能滿足MMOG服務(wù)器的需求,那寫服務(wù)器該是件多么愜意的事啊。但我們所遇到的事實(shí)是,服務(wù)器收到一個(gè)移動(dòng)包后,要向周圍所有人廣播,而不是echo服務(wù)器那樣簡(jiǎn)單的回應(yīng);服務(wù)器在收到一個(gè)連接斷開通知時(shí)要向很多人通知玩家退出事件,并將該玩家的資料寫入數(shù)據(jù)庫(kù),而不是echo服務(wù)器那樣什么都不需要做;服務(wù)器在收到一個(gè)物品使用請(qǐng)求包后要做一系列的邏輯判斷以檢查玩家有沒(méi)有作弊;服務(wù)器上還啟動(dòng)著很多定時(shí)器用來(lái)更新游戲世界的各種狀態(tài)......其實(shí)這么一比較,我們也看出資源消耗的所在了:服務(wù)器上大量的復(fù)雜的邏輯處理。再回過(guò)頭來(lái)看看我們想要實(shí)現(xiàn)的結(jié)構(gòu),我們既想要有一個(gè)唯一的入口,使得客戶端不用頻繁改變連接,又希望這個(gè)唯一入口的負(fù)載不會(huì)太大,以致于接受不了多少連接。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1