• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 311, comments - 0, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
                     好的結(jié)構(gòu)不是一蹴而就的,而且每個(gè)設(shè)計(jì)者心中的那把尺都不相同,所以這個(gè)優(yōu)秀結(jié)構(gòu)的定義也就沒(méi)有定論。在這里,我們不打算對(duì)現(xiàn)有游戲結(jié)構(gòu)做評(píng)價(jià),而是試著從頭開(kāi)始搭建一個(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)單:

              client ----- server

              嗯,太簡(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)入后開(kāi)始帳號(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ì)立即斷開(kāi),而且玩家在以后的游戲過(guò)程中不會(huì)再與登錄服打任何交道。這樣處理短連接的過(guò)程使得系統(tǒng)在大多數(shù)情況下都是比較空閑的,但是在某些時(shí)候,由于請(qǐng)求比較密集,比如開(kāi)新服的時(shí)候,登錄服的負(fù)載又會(huì)比較大,甚至?xí)幚聿贿^(guò)來(lái)。

              另外在實(shí)際的游戲運(yùn)營(yíng)中,有些游戲世界很火爆,而有些游戲世界卻非常冷清,甚至沒(méi)有多少人玩的情況也是很常見(jiàn)的。所以,我們能否更合理地配置登錄服資源,使得整個(gè)大區(qū)內(nèi)的登錄服可以共享就成了下一步改進(jìn)的目標(biāo)。
            无码人妻久久一区二区三区蜜桃| 综合久久一区二区三区 | 人妻无码αv中文字幕久久琪琪布| 九九热久久免费视频| 久久人人爽人人澡人人高潮AV| 久久精品亚洲欧美日韩久久| 久久精品一区二区三区AV| 久久久无码人妻精品无码| 精品一区二区久久久久久久网站| 久久久精品久久久久特色影视| 久久久久亚洲精品日久生情 | 精品综合久久久久久97| 99麻豆久久久国产精品免费| 久久一本综合| 2021少妇久久久久久久久久| 伊人久久大香线蕉综合5g| 99热热久久这里只有精品68| 色综合久久久久综合体桃花网 | 久久国产免费直播| 曰曰摸天天摸人人看久久久| 亚洲精品乱码久久久久久中文字幕 | 91久久成人免费| 久久久精品人妻一区二区三区蜜桃| 久久se精品一区二区影院| 久久综合狠狠综合久久| 久久91精品国产91久| 国产—久久香蕉国产线看观看| 欧美亚洲色综久久精品国产| 国产精品久久久久a影院| 三级韩国一区久久二区综合| 99久久精品国产一区二区| 久久综合亚洲欧美成人| 欧美久久综合九色综合| 亚洲综合久久综合激情久久| 国产欧美久久久精品| 996久久国产精品线观看| 久久人人爽人人爽人人片AV不| 久久伊人五月丁香狠狠色| 色妞色综合久久夜夜| 亚洲色大成网站WWW久久九九| 91麻豆国产精品91久久久|