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

            Linux/UNIX、C++、Boost、ACE、Shell

            Linux C++訓(xùn)練營(yíng)

            ACE高性能網(wǎng)絡(luò)編程

            昆山軒轅高端IT培訓(xùn)---ACE高性能網(wǎng)絡(luò)編程

            一、課程目標(biāo)

            本次課程針對(duì)使用ACE工具包進(jìn)行高性能網(wǎng)絡(luò)應(yīng)用開發(fā),通過(guò)本次課程的學(xué)習(xí),學(xué)員將具備以下能力:

            • 了解ACE的架構(gòu)和組件;
            • 理解現(xiàn)代操作系統(tǒng)線程模型、并發(fā)以及同步機(jī)制;
            • 熟練使用ACE線程管理和同步機(jī)制接口開發(fā)并發(fā)應(yīng)用;
            • 熟練使用ACE基本的IPC SAP接口,如SOCK_Stream、SOCK_Dgram等;
            • 深刻理解現(xiàn)代操作系統(tǒng)中事件多路分離和分派機(jī)制如select、epoll等、了解異步I/O以及完成事件的分派;
            • 熟練使用ACE Reactor組件、Acceptor-Connector組件、Proactor組件等構(gòu)建穩(wěn)定、高效和靈活的網(wǎng)絡(luò)應(yīng)用。

            二、參訓(xùn)要求

            參加本次課程的學(xué)員須具備以下能力:

            • 熟練掌握C++語(yǔ)法,理解C++面向?qū)ο蠛头盒停0澹C(jī)制;
            • 了解TCP/IP協(xié)議,有網(wǎng)絡(luò)編程概念。

            四、課程大綱

            本次課程由以下幾個(gè)部分構(gòu)成:

            1、 ACE簡(jiǎn)介

            • 什么是ACE?
            • ACE的使用范圍;
            • ACE工具包的架構(gòu)層次;
            • ACE的組件簡(jiǎn)介。

            2、ACE基礎(chǔ)的網(wǎng)絡(luò)I/O對(duì)象

            • 詳細(xì)介紹ACE_SOCK、ACE_SOCK_Acceptor、ACE_SOCK_Connector、ACE_INET_Addr等class的使用。
            • ACE Socket基類:ACE_SOCK;
            • TCP主動(dòng)連接對(duì)象:ACE_SOCK_Connector;
            • 基于TCP、面向連接的Socket:ACE_SOCK_Stream;
            • TCP被動(dòng)連接對(duì)象:ACE_SOCK_Acceptor;
            • 基于UDP、無(wú)連接的Socket:ACE_SOCK_Dgram (Unicast)、ACE_SOCK_Dgram_Mcast (Multicast)、ACE_SOCK_Dgram_Bcast (Broadcast)。

            3、ACE并發(fā)編程:線程與同步

            • 線程與進(jìn)程之區(qū)別;
            • 用戶線程與內(nèi)核線程;
            • 不同操作系統(tǒng)中的線程模型;
            • ACE線程管理:Thread_Manager;
            • ACE線程同步:ACE_Guard、ACE_Thread_Mutex等;
            • ACE Task框架:Message_Block、Message_Queue、ACE_Task。

            4、ACE Reactor框架

            ACE Reactor框架簡(jiǎn)化事件驅(qū)動(dòng)程序的開發(fā),而事件驅(qū)動(dòng)是很多網(wǎng)絡(luò)化應(yīng)用的基本特征,這些應(yīng)用常見(jiàn)的事件源包括I/O事件、Posix信號(hào)或 Windows句柄激發(fā)以及定時(shí)器到期等。

            • 關(guān)于ACE Reactor框架;
            • 關(guān)于事件多路分離和分派 (Event demultiplexing and dispatching );
            • Linux下 I/O事件多路分離機(jī)制:select、epoll;
            • 事件處理器 ACE_Event_Handler:
            • I/O事件(輸入、輸出)、信號(hào)、超時(shí)事件、異常事件的捕獲和處理;
            • ACE_Timer_Queue和ACE_Time_Value:
            • 定時(shí)器的應(yīng)用;
            • ACE_Reactor:ACE的反應(yīng)器為ACE Reactor框架的核心,負(fù)責(zé)事件的檢測(cè)、多路分離和事件處理器的分派;
            • 例程:基于ACE Reactor框架實(shí)現(xiàn)一個(gè)多人聊天室。

            5、ACE Acceptor-Connector框架

            ACE Acceptor-Connector框架實(shí)現(xiàn)了Acceptor-Connector模式,這種模式通過(guò)解除:1,網(wǎng)絡(luò)化應(yīng)用中相互協(xié)作的對(duì)等服務(wù)的連接和初始化所需的活動(dòng)、2,以及它們一旦連接和初始化后所執(zhí)行的處理的耦合,增強(qiáng)了軟件復(fù)用和可擴(kuò)展性。

            • 集成了Message_Queue的ACE_Event_handler:ACE_Svc_Handler;
            • 接受器:ACE_Acceptor;
            • 連接器:ACE_Connector;
            • 例程:基于Acceptor-Connector框架實(shí)現(xiàn)一個(gè)轉(zhuǎn)發(fā)服務(wù)器。

            6、ACE Proactor框架

            Proactor框架引入異步I/O機(jī)制,既保留了Reactor框架的事件多路分離,避免多線程的開銷,同時(shí)還緩和了反應(yīng)式的同步I/O的瓶頸效應(yīng)。

            • 關(guān)于Proactor模式和Proactor框架;
            • 關(guān)于異步I/O;
            • 異步I/O工廠類:
            • ACE_Asynch_Read_Stream和ACE_Asynch_Write_stream;
            • ACE_Handler;
            • 前攝式Acceptor-Connector;
            • 前攝器:ACE_Proactor;
            • 例程:基于Proactor框架重新實(shí)現(xiàn)多人聊天室。

            7、ACE實(shí)用工具

            • ACE日志實(shí)用工具:ACE_Log_Msg;
            • 讀寫配置文件:ACE_Configuration_Heap;
            • Singleton模式 (單例模式) 的ACE實(shí)現(xiàn):ACE_Singleton類模板。

            8、高性能網(wǎng)絡(luò)編程討論

            • 考究高性能網(wǎng)絡(luò)編程中應(yīng)該遵循的原則,討論并發(fā)、同步、事件多路分離等機(jī)制的適用場(chǎng)合。
            • 網(wǎng)絡(luò)應(yīng)用的瓶頸在何處?
            • 事件多路分離 vs 一連接一線程 (Event demultiplexing vs One thread per connection);
            • 同步I/O vs 異步I/O (Synchronous I/O vs Asynchronous I/O);
            • 如何適當(dāng)?shù)厥褂枚嗑€程?
            • 什么時(shí)候需要多個(gè) 事件多路分離線程?

            9、應(yīng)用層協(xié)議定義與實(shí)現(xiàn)

            • 為什么要自定義應(yīng)用層協(xié)議?
            • 定義應(yīng)用層協(xié)議 (以XMMEP協(xié)議為例);
            • 用C++實(shí)現(xiàn)自定義的協(xié)議 (以XMMEP協(xié)議為例)。
            • 注:XMMEP為X-Messenger Message Exchanging Protocol。

            六、課程資源

                  可獲取的課程資源見(jiàn):教學(xué)資源

            http://www.xuanyuan-soft.cn

            posted on 2012-08-29 15:00 athxy 閱讀(2773) 評(píng)論(1)  編輯 收藏 引用

            Feedback

            # re: ACE高性能網(wǎng)絡(luò)編程 2012-11-02 14:26 athxy

            歡迎光臨軒轅高端IT培訓(xùn)中心網(wǎng)站,軒轅高端IT培訓(xùn)中心 -- 中國(guó)唯一一家專注 Linux下C/C++、ACE、Boost、高性能服務(wù)器端應(yīng)用 開發(fā)技術(shù)培訓(xùn)的機(jī)構(gòu)。
            http://www.xuanyuan-soft.cn/  回復(fù)  更多評(píng)論   



            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            久久天堂电影网| 亚洲v国产v天堂a无码久久| 久久婷婷五月综合成人D啪| 影音先锋女人AV鲁色资源网久久 | 伊人久久免费视频| 武侠古典久久婷婷狼人伊人| 国产99久久久国产精品小说| 99久久婷婷国产综合亚洲| 久久久精品久久久久特色影视| 日本精品一区二区久久久| 久久99国产乱子伦精品免费| 国产综合精品久久亚洲| 亚洲精品无码久久千人斩| 久久国产精品免费| 99国产精品久久久久久久成人热| 久久男人中文字幕资源站| 粉嫩小泬无遮挡久久久久久| 欧美日韩成人精品久久久免费看| 精品无码久久久久久尤物| 色综合合久久天天给综看| 久久精品一区二区国产| 精品久久久一二三区| 日产久久强奸免费的看| 色综合色天天久久婷婷基地| 久久久亚洲欧洲日产国码aⅴ| 一级做a爰片久久毛片看看| 国产精品综合久久第一页| 久久超乳爆乳中文字幕| 无码伊人66久久大杳蕉网站谷歌 | 久久精品国产亚洲5555| 国产精品天天影视久久综合网| 久久久久久伊人高潮影院| 欧美精品一区二区久久| 国产精品美女久久久网AV| 国产精品视频久久| 精品久久一区二区| 亚洲国产精久久久久久久| 成人精品一区二区久久久| 国产高潮久久免费观看| 狠狠色综合久久久久尤物| 国产成人无码精品久久久免费|