• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            01 2011 檔案

                 摘要: IOCP(I/O Completion Port,I/O完成端口)是性能最好的一種I/O模型。它是應用程序使用線程池處理異步I/O請求的一種機制。在處理多個并發(fā)的異步I/O請求時,以往的模型都是在接收請求是創(chuàng)建一個線程來應答請求。這樣就有很多的線程并行地運行在系統(tǒng)中。而這些線程都是可運行的,Windows內核花費大量的時間在進行線程的上下文切換,并沒有多少時間花在線程運行上。再加上創(chuàng)建新線程的開銷比較大,所以造成了效率的低下。
              閱讀全文

            posted @ 2011-01-25 15:36 點點滴滴| 編輯 |

                 摘要:   丘比特在天上揮舞著小翅膀,掌管著人世間的愛情歸屬,某一刻說不定就看上了誰,然后“撲哧”射出一支愛箭,中箭的男女突然有了來電的感覺,相見時,心跳加速,呼吸加快,而如果一日不見,就好似隔了三秋,這便是愛情。
              閱讀全文

            posted @ 2011-01-24 14:38 點點滴滴| 編輯 |

                 摘要: 如果你有一個很受歡迎的Web站點,你會發(fā)現當請求的連接數增加時,服務器的響應延時也會隨之增加。雖然你可以增加RAM、升級處理器、使用更快的驅動器及總線,這在短期內會有一定的幫助,但最終會發(fā)現一臺服務器無法完成需要的任務。

            使用多臺服務器平衡負載是一個不錯的想法,你可以在你的服務器池中隨意增加多臺服務器來提高服務器的性能和增強網絡的穩(wěn)定性。如果你的服務器池中有多臺服務器,當一臺down機后,其他服務器可以接替它的工作,繼續(xù)提供服務而不至于造成服務中斷。
              閱讀全文

            posted @ 2011-01-19 20:24 點點滴滴| 編輯 |

                 摘要: 都已經看出來了,這種每切換一次地圖就要重新連接服務器的方式實在是不夠優(yōu)雅,而且在實際游戲運營中也發(fā)現,地圖切換導致的卡號,復制裝備等問題非常多,這里完全就是一個事故多發(fā)地段,如何避免這種頻繁的連接操作呢? 最直接的方法就是把那個圖倒轉過來就
              閱讀全文

            posted @ 2011-01-19 19:24 點點滴滴| 編輯 |

                 摘要: 狹義的游戲對象是指游戲世界中所能看到及可交互的對象,如玩家、怪物、物品等,我們這里也主要討論這類對象在服務器上的組織及實現。
              在大部分的MMOG中,游戲對象的類型都大同小異,主要有物品、生物、玩家等。比如在wow中,通過服務器發(fā)下來的GUID我們可以了解到,游戲中有9大類對象,包括物品(Item)、背包(Container)、生物(Unit)、玩家(Player)、游戲對象(GameObject)、動態(tài)對象(DynamicObject)、尸體(Corpse)等。
              閱讀全文

            posted @ 2011-01-19 19:23 點點滴滴| 編輯 |

                 摘要: 花了幾個小時的時間給MANGOS的幾個工程都加上了預編譯頭文件,編譯速度與以前相比大大提高,不過game工程的編譯速度還是不太理想,里面的文件包含關系錯綜復雜,再加上大量模板的使用,一個小小的改動都會引起好多文件的重新編譯,實在是影響效率。  閱讀全文

            posted @ 2011-01-19 19:18 點點滴滴| 編輯 |

                 摘要: 關于登錄服、大區(qū)服及游戲世界服的結構之前已做過探討,這里再把各自的職責和關系列一下。  閱讀全文

            posted @ 2011-01-19 19:18 點點滴滴| 編輯 |

                 摘要: 關于這一節(jié),這幾天已經打了好幾遍草稿,總覺得說不清楚,也不好組織這些內容,但是打鐵要趁熱,為避免熱情消退,先整理一點東西放這,好繼續(xù)下面的主題,以后如果有機會再回來完善吧。本節(jié)內容欠考慮,希望大家多給點意見。  閱讀全文

            posted @ 2011-01-19 19:12 點點滴滴| 編輯 |

                 摘要: 有關State模式的設計意圖及實現就不從設計模式中摘抄了,我們只來看看游戲服務器編程中如何使用State設計模式。

              閱讀全文

            posted @ 2011-01-19 17:11 點點滴滴| 編輯 |

                 摘要: 前面一直都在說接收數據時的處理方法,我們應該用專門的IO線程,接收到完整的消息包后加入到主線程的消息隊列,但是主線程如何發(fā)送數據還沒有探討過。 一般來說最直接的方法就是邏輯線程什么時候想發(fā)數據了就直接調用相關的socket API發(fā)送,這要求服務器的玩  閱讀全文

            posted @ 2011-01-19 17:08 點點滴滴| 編輯 |

                 摘要: 消息隊列鎖調用太頻繁的問題算是解決了,另一個讓人有些苦惱的大概是這太多的內存分配和釋放操作了。頻繁的內存分配不但增加了系統(tǒng)開銷,更使得內存碎片不斷增多,非常不利于我們的服務器長期穩(wěn)定運行。也許我們可以使用內存池,比如SGI STL中附帶的小內存分配  閱讀全文

            posted @ 2011-01-19 16:57 點點滴滴| 編輯 |

                 摘要: 既然說到了消息隊列,那我們繼續(xù)來稍微多聊一點吧。 我們所能想到的最簡單的消息隊列可能就是使用stl的list來實現了,即消息隊列內部維護一個list和一個互斥鎖,putMessage時將message加入到隊列尾,getMessage時從隊列頭取一個message返回,同時在getMessage
              閱讀全文

            posted @ 2011-01-19 14:57 點點滴滴| 編輯 |

                 摘要: 當閱讀一項工程的源碼時,我們大概會選擇從main函數開始,而當開始一項新的工程時,第一個寫下的函數大多也是main。那我們就先來看看,游戲服務器代碼實現中,main函數都做了些什么。 由于我在讀技術文章時最不喜看到的就是大段大段的代碼,特別是那些直接Ct  閱讀全文

            posted @ 2011-01-19 14:51 點點滴滴| 編輯 |

                 摘要: 正如我們在前面曾討論過的,登錄服要實現的功能相當簡單,就是帳號驗證。為了便于描述,我們暫不引入那些討論過的優(yōu)化手段,先以最簡單的方式實現,另外也將基本以mangos的代碼作為參考來進行描述。 想象一下帳號驗證的實現方法,最容易的那就是把用戶輸入的  閱讀全文

            posted @ 2011-01-19 14:47 點點滴滴| 編輯 |

                 摘要: 如果我們就此打住,可能馬上就會有人要嗤之以鼻了,就這點古董級的技術也敢出來現。好吧,我們還是把之前留下的問題拿出來解決掉吧。 一般來說,當某一部分能力達不到我們的要求時,最簡單的解決方法就是在此多投入一點資源。既然想要更多的連接數,那就再加  閱讀全文

            posted @ 2011-01-19 14:41 點點滴滴| 編輯 |

                 摘要: 討論了這么久我們一直都還沒有進入游戲世界服務器內部,現在就讓我們來窺探一下里面的結構吧。 對于現在大多數MMORPG來說,游戲服務器要處理的基本邏輯有移動、聊天、技能、物品、任務和生物等,另外還有地圖管理與消息廣播來對其他高級功能做支撐。如縱隊、  閱讀全文

            posted @ 2011-01-19 14:36 點點滴滴| 編輯 |

                 摘要: 回想一下我們在玩wow時的操作流程:運行wow.exe進入游戲后,首先就會要求我們輸入用戶名和密碼進行驗證,驗證成功后才會出來游戲世界列表,之后是排隊進入游戲世界,開始游戲... 可以看到跟前面的描述有個很明顯的不同,那就是要先驗證帳號再選擇游戲世界。
              閱讀全文

            posted @ 2011-01-19 14:32 點點滴滴| 編輯 |

                 摘要: 所謂服務器結構,也就是如何將服務器各部分合理地安排,以實現最初的功能需求。所以,結構本無所謂正確與錯誤;當然,優(yōu)秀的結構更有助于系統(tǒng)的搭建,對系統(tǒng)的可擴展性及可維護性也有更大的幫助。
                閱讀全文

            posted @ 2011-01-19 14:31 點點滴滴| 編輯 |

            posted @ 2011-01-12 13:58 點點滴滴| 編輯 |

            posted @ 2011-01-12 13:44 點點滴滴| 編輯 |

            posted @ 2011-01-11 11:49 點點滴滴| 編輯 |

            posted @ 2011-01-05 20:25 點點滴滴| 編輯 |

            posted @ 2011-01-05 14:33 點點滴滴| 編輯 |

                 摘要: 游戲開發(fā)所需知識  閱讀全文

            posted @ 2011-01-05 13:58 點點滴滴| 編輯 |

            posted @ 2011-01-05 11:23 點點滴滴| 編輯 |

            亚洲国产精品久久| 国产精品久久久久久五月尺| 久久99精品综合国产首页| 国产成人精品久久综合| 思思久久好好热精品国产| 久久精品国产久精国产| 久久天天婷婷五月俺也去| 狠狠干狠狠久久| 伊人久久大香线蕉亚洲| 久久久久国产成人精品亚洲午夜| 性高湖久久久久久久久| 久久精品国产一区二区三区| 国产精品久久久福利| 欧美日韩精品久久免费| 中文字幕一区二区三区久久网站| 亚洲熟妇无码另类久久久| 久久综合精品国产一区二区三区| www久久久天天com| 日韩AV无码久久一区二区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 精品国产乱码久久久久久浪潮| 99久久精品国产一区二区| 日日狠狠久久偷偷色综合免费| 免费国产99久久久香蕉| 99999久久久久久亚洲| 性高湖久久久久久久久| 一本久久a久久精品亚洲| 久久亚洲国产精品成人AV秋霞 | 久久精品国产99国产精品导航 | 日本久久久久久久久久| 国产精品女同一区二区久久| 久久国产精品国产自线拍免费| 无码精品久久久天天影视| 亚洲午夜久久久影院| 久久丫精品国产亚洲av| 久久久久无码精品国产| 午夜天堂精品久久久久| 久久精品国产99久久久| 久久伊人精品青青草原高清| 国产精品久久永久免费| 97精品伊人久久久大香线蕉|