青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-380  評論-37  文章-0  trackbacks-0
隨著網(wǎng)游從業(yè)者的規(guī)模和需求不斷擴(kuò)大,越來越多的朋友進(jìn)入了網(wǎng)游開發(fā)這個領(lǐng)域,使得市場中網(wǎng)游開發(fā)技術(shù)相關(guān)的需求量迅猛增長。目前,網(wǎng)游行業(yè)比較緊缺的是具有較深技術(shù)功底的“專家型”開發(fā)者,這主要包括兩個方面:服務(wù)器端設(shè)計人員以及客戶端設(shè)計人員。對于網(wǎng)絡(luò)游戲而言,由于其主要的游戲邏輯計算是在服務(wù)器端完成的,數(shù)據(jù)同步與廣播信息的傳遞也是通過服務(wù)器完成的,所以,是否擁有一個有經(jīng)驗的服務(wù)器端設(shè)計人員已經(jīng)成為一款網(wǎng)游產(chǎn)品能否成功的關(guān)鍵之一。鑒于此,本文將試圖就網(wǎng)游服務(wù)器設(shè)計的一系列問題展開討論和總結(jié),筆者將結(jié)合自己的開發(fā)經(jīng)驗和體會,將其中各方面內(nèi)容逐一呈現(xiàn)。希望能夠?qū)σ韵氯惾藛T有所幫助:
  有一定網(wǎng)絡(luò)編程基礎(chǔ)、準(zhǔn)備進(jìn)入網(wǎng)游行業(yè)作服務(wù)器端設(shè)計的人員;
  正在從事網(wǎng)游服務(wù)器設(shè)計的人員;
  網(wǎng)游項目的技術(shù)負(fù)責(zé)人。
  
  由于網(wǎng)游服務(wù)器的設(shè)計牽涉到太多內(nèi)容,比如:網(wǎng)絡(luò)通信方面、人工智能、數(shù)據(jù)庫設(shè)計等等,所以本文將重點從網(wǎng)絡(luò)通信方面的內(nèi)容展開論述。談到網(wǎng)絡(luò)通信,就不能不涉及如下五個問題:
[attach]1264[/attach]

[attach]1265[/attach]

[attach]1266[/attach]

[attach]1267[/attach]
1、 常見的網(wǎng)游服務(wù)通信器架構(gòu)概述
2、 網(wǎng)游服務(wù)器設(shè)計的基本原則
3、 網(wǎng)游服務(wù)器通信架構(gòu)設(shè)計所需的基本技術(shù)
4、 網(wǎng)游服務(wù)器通信架構(gòu)的測試
5、 網(wǎng)游服務(wù)器通信架構(gòu)設(shè)計的常見問題

下面我們就從第一個問題說起:

常見的網(wǎng)游服務(wù)器通信架構(gòu)概述
  目前,國內(nèi)的網(wǎng)游市場中大體存在兩種類型的網(wǎng)游游戲:MMORPG(如:魔獸世界)和休閑網(wǎng)游(如:QQ休閑游戲和聯(lián)眾游戲,而如泡泡堂一類的游戲與QQ休閑游戲有很多相同點,因此也歸為此類)。由于二者在游戲風(fēng)格上的截然不同,導(dǎo)致了他們在通信架構(gòu)設(shè)計思路上的較大差別。下面筆者將分別描述這兩種網(wǎng)游的通信架構(gòu)。

1.MMORPG類網(wǎng)游的通信架構(gòu)
  網(wǎng)游的通信架構(gòu),通常是根據(jù)幾個方面來確定的:游戲的功能組成、游戲的預(yù)計上線人數(shù)以及游戲的可擴(kuò)展性。
  目前比較通用的MMORPG游戲流程是這樣的:

a. 玩家到游戲官方網(wǎng)站注冊用戶名和密碼。
b. 注冊完成后,玩家選擇在某一個區(qū)激活游戲賬號。
c. 玩家在游戲客戶端中登錄進(jìn)入已經(jīng)被激活的游戲分區(qū),建立游戲角色進(jìn)行游戲。

  通常,在這樣的模式下,玩家的角色數(shù)據(jù)是不能跨區(qū)使用的,即:在A區(qū)建立的游戲角色在B區(qū)是無法使用的,各區(qū)之間的數(shù)據(jù)保持各自獨立性。我們將這樣獨立的A區(qū)或B區(qū)稱為一個獨立的服務(wù)器組,一個獨立的服務(wù)器組就是一個相對完整的游戲世界。而網(wǎng)游服務(wù)器的通信架構(gòu)設(shè)計,則包括了基于服務(wù)器組之上的整個游戲世界的通信架構(gòu),以及在一個服務(wù)器組之內(nèi)的服務(wù)器通信架構(gòu)。

  我們先來看看單獨的服務(wù)器組內(nèi)部的通信是如何設(shè)計的。
  一個服務(wù)器組內(nèi)的各服務(wù)器組成,要依據(jù)游戲功能進(jìn)行劃分。不同的游戲內(nèi)容策劃會對服務(wù)器的組成造成不同的影響。一般地,我們可以將一個組內(nèi)的服務(wù)器簡單地分成兩類:場景相關(guān)的(如:行走、戰(zhàn)斗等)以及場景不相關(guān)的(如:公會聊天、不受區(qū)域限制的貿(mào)易等)。為了保證游戲的流暢性,可以將這兩類不同的功能分別交由不同的服務(wù)器去各自完成。另外,對于那些在服務(wù)器運(yùn)行中進(jìn)行的比較耗時的計算,一般也會將其單獨提煉出來,交由單獨的線程或單獨的進(jìn)程去完成。

  各個網(wǎng)游項目會根據(jù)游戲特點的不同,而靈活選擇自己的服務(wù)器組成方案。經(jīng)常可以見到的一種方案是:場景服務(wù)器、非場景服務(wù)器、服務(wù)器管理器、AI服務(wù)器以及數(shù)據(jù)庫代理服務(wù)器。
  以上各服務(wù)器的主要功能是:

  場景服務(wù)器:它負(fù)責(zé)完成主要的游戲邏輯,這些邏輯包括:角色在游戲場景中的進(jìn)入與退出、角色的行走與跑動、角色戰(zhàn)斗(包括打怪)、任務(wù)的認(rèn)領(lǐng)等。場景服務(wù)器設(shè)計的好壞是整個游戲世界服務(wù)器性能差異的主要體現(xiàn),它的設(shè)計難度不僅僅在于通信模型方面,更主要的是整個服務(wù)器的體系架構(gòu)和同步機(jī)制的設(shè)計。

  非場景服務(wù)器:它主要負(fù)責(zé)完成與游戲場景不相關(guān)的游戲邏輯,這些邏輯不依靠游戲的地圖系統(tǒng)也能正常進(jìn)行,比如公會聊天或世界聊天,之所以把它從場景服務(wù)器中獨立出來,是為了節(jié)省場景服務(wù)器的CPU和帶寬資源,讓場景服務(wù)器能夠盡可能快地處理那些對游戲流暢性影響較大的游戲邏輯。

  服務(wù)器管理器:為了實現(xiàn)眾多的場景服務(wù)器之間以及場景服務(wù)器與非場景服務(wù)器之間的數(shù)據(jù)同步,我們必須建立一個統(tǒng)一的管理者,這個管理者就是服務(wù)器組中的服務(wù)器管理器。它的任務(wù)主要是在各服務(wù)器之間作數(shù)據(jù)同步,比如玩家上下線信息的同步。其最主要的功能還是完成場景切換時的數(shù)據(jù)同步。當(dāng)玩家需要從一個場景A切換到另一個場景B時,服務(wù)器管理器負(fù)責(zé)將玩家的數(shù)據(jù)從場景A轉(zhuǎn)移到場景B,并通過協(xié)議通知這兩個場景數(shù)據(jù)同步的開始與結(jié)束。所以,為了實現(xiàn)這些內(nèi)容繁雜的數(shù)據(jù)同步任務(wù),服務(wù)器管理器通常會與所有的場景服務(wù)器和非場景服務(wù)器保持socket連接。

  AI(人工智能)服務(wù)器:由于怪物的人工智能計算非常消耗系統(tǒng)資源,所以我們把它獨立成單獨的服務(wù)器。AI服務(wù)器的主要作用是負(fù)責(zé)計算怪物的AI,并將計算結(jié)果返回給場景服務(wù)器,也就是說,AI服務(wù)器是單獨為場景服務(wù)器服務(wù)的,它完成從場景服務(wù)器交過來的計算任務(wù),并將計算結(jié)果返回給場景服務(wù)器。所以,從網(wǎng)絡(luò)通信方面來說,AI服務(wù)器只與眾多場景服務(wù)器保持socket連接。

  數(shù)據(jù)庫代理服務(wù)器:在網(wǎng)游的數(shù)據(jù)庫讀寫方面,通常有兩種作法,一種是在應(yīng)用服務(wù)器中直接加進(jìn)數(shù)據(jù)庫訪問的代碼進(jìn)行數(shù)據(jù)庫訪問,還有一種方式是將數(shù)據(jù)庫讀寫?yīng)毩⒊鰜恚瑔为氉鞒蓴?shù)據(jù)庫代理,由它統(tǒng)一進(jìn)行數(shù)據(jù)庫訪問并返回訪問結(jié)果。

  其中,非場景服務(wù)器在不同的游戲項目中可能會被設(shè)計成不同的功能,比如以組隊、公會或全頻道聊天為特色的游戲,很可能為了滿足玩家的聊天需求而設(shè)立單獨的聊天服務(wù)器;而如果是以物品貿(mào)易(如拍賣等)為特色的游戲,很可能為了滿足拍賣的需求而單獨設(shè)立拍賣服務(wù)器。到底是不是有必要將某一項游戲功能獨立處理成一個服務(wù)器,要視該功能對游戲的主場景邏輯(指行走、戰(zhàn)斗等玩家日常游戲行為)的影響程度而定。如果該功能對主場景邏輯的影響比較大,可能對主場景邏輯的運(yùn)行造成比較嚴(yán)重的性能和效率損失,那么應(yīng)考慮將其從主場景邏輯中剝離,但能否剝離還有另一個前提:此功能是否與游戲場景(即地圖坐標(biāo)系統(tǒng))相關(guān)。如果此功能與場景相關(guān)又確實影響到了主場景邏輯的執(zhí)行效率,則可能需要在場景服務(wù)器上設(shè)立專門的線程來處理而不是將它獨立成一個單獨的服務(wù)器。

  以上是一個服務(wù)器組內(nèi)的各服務(wù)器組成情況介紹,那么,各服務(wù)器之間是如何通信的呢?它的基本通信構(gòu)架有哪些呢?
  MMORPG的單組服務(wù)器架構(gòu)通常可以分為兩種:第一種是帶網(wǎng)關(guān)的服務(wù)器架構(gòu);第二種是不帶網(wǎng)關(guān)的服務(wù)器架構(gòu)。兩種方案各有利弊。

  就帶網(wǎng)關(guān)的服務(wù)器架構(gòu)而言,由于它對外只向玩家提供唯一的一個通信端口,所以在玩家一側(cè)會有比較流暢的游戲體驗,這通常也是那些超大規(guī)模無縫地圖網(wǎng)游所采用的方案,但這種方案的缺點是服務(wù)器組內(nèi)的通信架構(gòu)設(shè)計相對復(fù)雜、調(diào)試不方便、網(wǎng)關(guān)的通信壓力過大、對網(wǎng)關(guān)的通信模型設(shè)計要求較高等。第二種方案會同時向玩家開放多個游戲服務(wù)器端口,除了游戲場景服務(wù)器的通信端口外,同時還可能提供諸如聊天服務(wù)器等的通信端口。這種方案的主要缺點是在進(jìn)行場景服務(wù)器的切換時,玩家客戶端的表現(xiàn)中通常會有一個諸如場景調(diào)入的界面出現(xiàn),影響了游戲的流暢感。基于這種方案的游戲在客戶端的界面處理方面,比較典型的表現(xiàn)是:當(dāng)要進(jìn)行場景切換時,只能通過相應(yīng)的“傳送功能”傳送到另外的場景去,或者需要進(jìn)入新的場景時,客戶端會有比較長時間的等待進(jìn)入新場景的等待界面(Loading界面)。

  從技術(shù)角度而言,筆者更傾向于將獨立的服務(wù)器組設(shè)計成帶網(wǎng)關(guān)的模型,雖然這加大了服務(wù)器的設(shè)計難度,但卻增強(qiáng)了游戲的流暢感和安全性,這種花費(fèi)還是值得的。
  筆者在下面附上了帶網(wǎng)關(guān)的MMORPG通信架構(gòu)圖,希望能給業(yè)內(nèi)的朋友們一點有益的啟迪。
posted on 2009-01-02 02:23 小王 閱讀(3329) 評論(3)  編輯 收藏 引用 所屬分類: 網(wǎng)絡(luò)通訊

評論:
# re: 網(wǎng)游服務(wù)器通信架構(gòu)的設(shè)計 2009-06-17 16:47 | 糊涂人
學(xué)習(xí)了,寫服務(wù)器一段時間了,發(fā)現(xiàn)很多實際經(jīng)驗都和你說的符合,謝謝!!  回復(fù)  更多評論
  
# re: 網(wǎng)游服務(wù)器通信架構(gòu)的設(shè)計 2011-04-16 15:36 | 小戒
恩,新項目服務(wù)器框架設(shè)計的大致也跟這個差不多。  回復(fù)  更多評論
  
# re: 網(wǎng)游服務(wù)器通信架構(gòu)的設(shè)計 2011-04-16 15:39 | 小王
樓上的兄弟是哪位啊,認(rèn)識我嗎?有時間的話隨時可以給我發(fā)郵件。
我的信箱:iamxiaowang_139@163.com  回復(fù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久精品一区二区三区不卡牛牛| 欧美一级在线视频| 欧美国产日韩a欧美在线观看| 欧美激情91| 欧美精品入口| 欧美午夜精品电影| 国产亚洲精品久久飘花| 又紧又大又爽精品一区二区| 亚洲精品免费电影| 亚洲欧美一区在线| 欧美成人激情视频| 日韩天堂av| 久久久亚洲成人| 国产精品xxx在线观看www| 国产欧美一区二区精品性| 尤物网精品视频| 中文日韩在线| 久久这里只有| 亚洲视频成人| 毛片一区二区| 国产精品性做久久久久久| 在线成人激情视频| 亚洲综合三区| 欧美福利电影在线观看| 亚洲综合精品自拍| 欧美精品一区在线| 亚洲电影有码| 久久久之久亚州精品露出| 一本到高清视频免费精品| 久久久99久久精品女同性| 国产精品sm| 亚洲伦伦在线| 欧美mv日韩mv国产网站app| 亚洲一区二区三区色| 免费不卡在线观看av| 国产在线拍偷自揄拍精品| 亚洲一级高清| 亚洲国产欧美久久| 久久精品99国产精品| 国产精品毛片a∨一区二区三区| 亚洲国产精品尤物yw在线观看| 欧美在线国产| 亚洲永久免费| 欧美午夜片在线免费观看| 亚洲麻豆av| 亚洲福利专区| 免费在线一区二区| 亚洲二区视频在线| 老司机免费视频一区二区| 性做久久久久久久久| 国产美女一区二区| 欧美影院成人| 亚洲免费视频一区二区| 国产精品高潮呻吟| 亚洲在线播放| 一区电影在线观看| 国产精品户外野外| 欧美一级精品大片| 欧美一区二区私人影院日本| 国产一区二区三区自拍| 久久性色av| 亚洲大胆人体在线| 欧美成人在线影院| 欧美成人乱码一区二区三区| 亚洲国内精品| 91久久国产综合久久91精品网站| 久久这里只有精品视频首页| 加勒比av一区二区| 欧美18av| 欧美精品在线看| 亚洲女同同性videoxma| 亚洲综合电影一区二区三区| 国产网站欧美日韩免费精品在线观看 | 老牛嫩草一区二区三区日本| 在线观看视频免费一区二区三区| 欧美不卡视频一区发布| 免费成人高清| 亚洲一区免费| 欧美在线黄色| 亚洲激情午夜| 国产精品99久久久久久久久久久久| 国产欧美日韩不卡免费| 牛牛国产精品| 国产精品久久久久久久久借妻| 欧美一级久久| 欧美成人tv| 午夜精品一区二区在线观看| 久久精品欧美| 亚洲图片欧洲图片日韩av| 亚欧成人在线| 日韩一级大片在线| 亚洲一区二区在线| 亚洲国产欧美一区二区三区同亚洲| 99ri日韩精品视频| 国内精品一区二区三区| 日韩香蕉视频| 在线免费观看成人网| 亚洲视频网站在线观看| 亚洲欧洲免费视频| 欧美有码视频| 亚洲一区二区三| 久久综合国产精品台湾中文娱乐网| 亚洲先锋成人| 蜜臀av国产精品久久久久| 欧美一区二区三区四区在线观看| 欧美**字幕| 久久久九九九九| 欧美性开放视频| 亚洲缚视频在线观看| 好看不卡的中文字幕| 日韩一级精品视频在线观看| 怡红院av一区二区三区| 这里是久久伊人| 久久精品国产一区二区电影| 亚洲一区二区三区色| 欧美sm视频| 欧美大片免费观看| 欧美高清视频在线| 榴莲视频成人在线观看| 亚洲资源在线观看| 欧美日韩国产综合新一区| 欧美影院视频| 国产精品久久久久9999| 亚洲国产黄色片| 在线免费精品视频| 欧美一级理论片| 亚洲字幕一区二区| 欧美日韩精品综合| 亚洲欧洲另类| 亚洲裸体俱乐部裸体舞表演av| 久久久久亚洲综合| 久久另类ts人妖一区二区| 国产毛片精品视频| 亚洲网址在线| 午夜精品在线看| 国产精品久久毛片a| 正在播放欧美一区| 亚洲在线视频网站| 国产欧美一区二区精品忘忧草| 亚洲在线中文字幕| 久久国产乱子精品免费女| 国产一区二区三区日韩| 久久久国产一区二区三区| 久久亚洲高清| 亚洲欧洲日产国产网站| 欧美激情亚洲国产| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲图片欧美日产| 欧美视频不卡| 亚洲自拍三区| 葵司免费一区二区三区四区五区| 在线日本欧美| 亚洲欧美日韩一区二区三区在线观看| 亚洲在线中文字幕| 国产一区二区精品久久99| 久久精品一区四区| 亚洲二区在线| 亚洲一区二区三区四区视频| 国产精品综合视频| 久久久www成人免费毛片麻豆| 欧美成熟视频| 中文亚洲视频在线| 国外精品视频| 欧美噜噜久久久xxx| 亚洲婷婷综合色高清在线| 久久九九国产| 日韩视频在线一区二区三区| 国产精品嫩草影院一区二区| 久久精品中文字幕免费mv| 亚洲国产综合在线| 欧美一区二区三区日韩视频| 黄色影院成人| 国产精品av免费在线观看| 久久九九国产| 在线视频日韩| 欧美国产精品v| 欧美一二三区在线观看| 在线观看国产欧美| 欧美午夜电影在线观看| 久久久久一区二区| 一区二区三区四区国产精品| 亚洲美女视频在线观看| 欧美福利视频网站| 一本大道av伊人久久综合| 国产区二精品视| 欧美精品一区二| 久久久中精品2020中文| 亚洲影视在线播放| 99视频在线观看一区三区| 农夫在线精品视频免费观看| 午夜久久影院| 亚洲夜晚福利在线观看| 亚洲精品美女免费| 亚洲电影免费观看高清完整版在线| 国产精品久久久久久超碰| 欧美精品一线| 欧美成人一区二区三区在线观看| 久久精品国产精品 | 牛人盗摄一区二区三区视频| 性亚洲最疯狂xxxx高清|