• <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)用開(kāi)發(fā),通過(guò)本次課程的學(xué)習(xí),學(xué)員將具備以下能力:

            • 了解ACE的架構(gòu)和組件;
            • 理解現(xiàn)代操作系統(tǒng)線程模型、并發(fā)以及同步機(jī)制;
            • 熟練使用ACE線程管理和同步機(jī)制接口開(kāi)發(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)程序的開(kāi)發(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框架的事件多路分離,避免多線程的開(kāi)銷,同時(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;
            • 讀寫(xiě)配置文件: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)用 開(kāi)發(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   管理


            77777亚洲午夜久久多喷| 欧美午夜精品久久久久免费视 | 国产精品美女久久久m| 久久久久久久久波多野高潮| 婷婷久久综合| 精品久久久无码21p发布| 亚洲AV乱码久久精品蜜桃| 久久99久久99小草精品免视看| 精品久久久久久无码人妻热 | 99精品国产99久久久久久97| 亚洲综合日韩久久成人AV| 国产精品久久久久久久久鸭 | 无夜精品久久久久久| 69久久精品无码一区二区| 久久人人超碰精品CAOPOREN| 久久久久亚洲AV无码麻豆| 狠狠人妻久久久久久综合| 伊人久久久AV老熟妇色| 久久亚洲精品中文字幕三区| 久久国产欧美日韩精品免费| 狠狠狠色丁香婷婷综合久久五月| 久久久久亚洲国产| 日韩亚洲欧美久久久www综合网 | 久久精品无码一区二区三区日韩 | 精品久久一区二区三区| 欧美黑人激情性久久| 综合久久一区二区三区| 四虎国产精品免费久久5151 | 久久亚洲国产成人影院网站 | 天天做夜夜做久久做狠狠| 久久91精品国产91久久小草| 久久精品人人做人人爽电影| 伊人久久免费视频| 国产精品久久久久9999| 激情伊人五月天久久综合| 久久99精品国产麻豆宅宅| 色天使久久综合网天天| 久久这里有精品视频| 久久久久久亚洲精品不卡| 99久久成人18免费网站| 国产激情久久久久影院小草 |