• <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>

            勤能補拙,Expter

            成都游戲Coder,記錄游戲開發過程的筆記和心得!

            一個小型的IOCP網絡庫

                    基本網絡框架基于IOCP模型,這次主要在以前寫的IPC通信的基礎上修改,參考了當前項目網絡庫的設計思路。
                  
                     先介紹幾個主要的類:
                   1.CSocket重新套接字,CConnection繼承CSocket表示一個連接對象主要重寫Recv和Send接口,以及組包過程。
                   2.CAccept處理客戶端的鏈接,
                   3.Cpacket一個消息數據包頭,CMessage繼承CPacket帶數據消息包。
                   4.CConnectManger保存一個連接CConnection的內存池對象,CAcceptManager一個接收客戶端Accept的線程,CPacketManager參考了Loki的小對象管理做的一個緩沖區數據包內存池。
                   5.CLibObject包含上面3個Manager(Singleton),CNetWork網絡初始化。
                   6.CIOCP類主要IO的線程類,接收處理所有的客戶端連接CConnection。
                   7.CServer類包括一個IOCP初始化和網絡庫管理類,IOCP會把接收到的數據重組成數據包后保存到CServer的一個CMsgQueue中.
                   8.我們的重寫一個Server只需要繼承CServer,然后實現run和AccedeProcess即可。run從CMsgQueue緩沖區提取一個消息包,AccedeProcess處理消息。
                  一些細節設計:
                   1.為了節約帶寬Connection這里采用了Negles算法,這里采用Negle的并沒有馬上把每一個需要發送MSG采用緩存隊列的方式保存起來,而是每一個Connection自身都保存數據,CServer通過一個線程把每一個存在的Connection是否有消息緩存,然后發送。因而讓IOCP只處理接收的消息,發送消息通過CServer來處理。

                    出網絡庫基本框架如下:
                      
             

            網絡庫代碼的代碼http://code.google.com/p/tpgame/source/browse/#svn/trunk/GServerEngine/NetLibrary

            問題肯定較多,希望多多指教。


            最近一直在構思與寫一套游戲AI系統,主要是通過狀態機響應事件,更多是想運用自己學習到的一些優秀的算法,以及一些高級

            的AI以此來鍛煉對一些復雜的數據結構的編寫和設計思維的提升。

            算法和數據結構方面:
            1.2D和3D尋路(主要包括2D尋路的初始化條件優化 ,3D的空間劃分以及多叉樹的劃分,以及堆維護)。
            2.帶有更多思維的角色系統(附帶更多的數據信息)判斷。
            3.查詢線段樹和樹狀數數組的運用。
            4.一個線性的字符串過濾程序。
            5.一個動態基于角色的最優二叉查找樹的動態維護。(主要解決不同的角色AI觸發頻率建立一顆最優二叉查找樹)
            6.追蹤算法以及游戲的群集算法都會整合到現在的AI系統中。

            設計方面:
            1.盡量讓類之間耦合性更小,復雜度更低,淺顯明確。

            注:Ai系統寫完會把代碼和網絡庫的最新代碼更新都會上傳,希望大家多多指教。




            posted on 2009-12-20 14:21 expter 閱讀(3777) 評論(5)  編輯 收藏 引用 所屬分類: 其他學習筆記工作筆記算法與數據結構Ai

            評論

            # re: 一個小型的IOCP網絡庫 2009-12-21 01:50 Fox

            三更半夜的上來看一下,這兩天被蹂躪安逸了……  回復  更多評論   

            # re: 一個小型的IOCP網絡庫[未登錄] 2009-12-23 12:44 true

            友情支持  回復  更多評論   

            # re: 一個小型的IOCP網絡庫 2009-12-23 22:15 矩陣操作

            提供一個打包下載吧。不很想裝SVN。。。。-_-~!  回復  更多評論   

            # re: 一個小型的IOCP網絡庫 2010-10-07 16:02 favormm

            我也是成都coder  回復  更多評論   

            # re: 一個小型的IOCP網絡庫 2010-10-07 16:05 favormm

            學習了。我也是成都的  回復  更多評論   

            国产精品久久久久影院嫩草| 香蕉久久久久久狠狠色| 国产精品女同久久久久电影院| 久久久国产精品亚洲一区| 精品国产VA久久久久久久冰| 91精品日韩人妻无码久久不卡| 一级a性色生活片久久无少妇一级婬片免费放| 国产精品久久久久久久午夜片 | 色天使久久综合网天天| 无码伊人66久久大杳蕉网站谷歌 | 午夜精品久久久久久影视777| 欧美亚洲国产精品久久高清| 国产亚洲欧美成人久久片| 久久久久亚洲国产| 国内精品久久久久久中文字幕 | 99久久国产综合精品网成人影院| 欧美日韩精品久久久免费观看| 亚洲综合婷婷久久| 99久久99久久精品免费看蜜桃| 亚洲а∨天堂久久精品| 国产福利电影一区二区三区久久久久成人精品综合 | 性色欲网站人妻丰满中文久久不卡| 99精品久久久久久久婷婷| 久久夜色精品国产噜噜噜亚洲AV| 久久婷婷色综合一区二区| yellow中文字幕久久网| 国产精品久久久久影院嫩草| 久久久久99精品成人片直播| 天天躁日日躁狠狠久久| 欧美激情一区二区久久久| 亚洲国产视频久久| 伊人色综合久久天天网| 国产免费久久精品99re丫y| 久久婷婷色综合一区二区| 精品无码久久久久久久动漫| 久久不见久久见免费影院www日本| 老司机国内精品久久久久| 国产精品VIDEOSSEX久久发布| www亚洲欲色成人久久精品| 精品多毛少妇人妻AV免费久久| 久久九九久精品国产|