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

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

            一、課程目標(biāo)

            本次課程圍繞高性能網(wǎng)絡(luò)編程這一主題,從眾多的Boost類(lèi)庫(kù)中挑選出Boost.Asio、Boost.Thread以及其它配套的實(shí)用庫(kù),作為主要學(xué)習(xí)的內(nèi)容,通過(guò)本次課程的學(xué)習(xí),學(xué)員將具備以下能力:

            • 掌握智能指針、高階函數(shù)對(duì)象、對(duì)象序列化/反序列化等類(lèi)庫(kù)的使用;
            • 理解現(xiàn)代操作系統(tǒng)線程模型、并發(fā)以及同步機(jī)制;
            • 熟練使用Boost.Thread線程管理和同步機(jī)制接口開(kāi)發(fā)并發(fā)應(yīng)用;
            • 深刻理解現(xiàn)代操作系統(tǒng)中事件多路分離和分派機(jī)制如select、epoll等、了解異步I/O以及完成事件的分派;
            • 熟練使用Boost.Asio構(gòu)建穩(wěn)定、高效和靈活的網(wǎng)絡(luò)應(yīng)用。

            四、課程大綱

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

            1、Boost.Serialization - 序列化

            • 基本類(lèi)型和自定義類(lèi)型的序列化;
            • 數(shù)組、指針和智能指針的序列化;
            • STL容器、std::string的序列化;
            • 識(shí)別類(lèi)的版本;
            • XML格式的archive;
            • 二進(jìn)制格式的archive。

            2、Boost.Smart_Ptr - 智能指針

            • 回顧std::auto_ptr<>;
            • 無(wú)Copyable 語(yǔ)義的scoped_ptr<>;
            • shared_ptr<>;
            • weak_ptr<>;
            • enable_shared_from_this<>;

            3、Boost.Bind and Boost.Function- 函數(shù)對(duì)象相關(guān)

            • 什么是函數(shù)對(duì)象?
            • 回顧std::bind1st()、std::bind2nd()、std::mem_fun()、std::ptr_fun()等適配器;
            • Boost bind();
            • Boost Function;
            • Boost ref()。

            4、Boost.Signals2 - 實(shí)現(xiàn)回調(diào)機(jī)制

            • Boost Signal2:線程安全的Signal-Slot機(jī)制 (Publishers → Signals/Subscribers → Slots),即Observer模式的實(shí)現(xiàn);
            • 簡(jiǎn)單的回調(diào);
            • 多個(gè)Slot回調(diào);
            • 管理Connections;
            • 一些示例。

            5、一些實(shí)用類(lèi)庫(kù)

            • Boost.Property_Tree;
            • Boost.Format;

            6、Boost.Thread - 多線程

            • 線程與進(jìn)程之區(qū)別;
            • 用戶線程與內(nèi)核線程;
            • 不同操作系統(tǒng)中的線程模型;
            • 線程管理:線程創(chuàng)建、中斷、分離/連接等;
            • 同步機(jī)制:Mutex、Lock、Condition_variable、TSS等。

            7、Boost.Asio - 網(wǎng)絡(luò)編程

            Boost.Asio庫(kù),通過(guò)對(duì)各類(lèi)操作系統(tǒng)原生的socket API以及事件多路分離、異步I/O API的封裝,構(gòu)成了一個(gè)性能優(yōu)秀、可移植性高、便于編程的網(wǎng)絡(luò)編程框架,使復(fù)雜的網(wǎng)絡(luò)編程任務(wù)變得簡(jiǎn)單、安全、并且高效。

            • Asio相關(guān)概念:同步I/O和異步I/O、Proactor模式、Asio和線程;
            • Linux 下 I/O事件多路分離機(jī)制:select、epoll;
            • TCP同步I/O Server/Client編程示例;
            • UDP同步I/O Server/Client編程示例;
            • TCP異步I/O Server/Client編程示例;
            • UDP異步I/O Server/Client編程示例;
            • Timer - 定時(shí)器;
            • Asio核心接口介紹。

            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é)資源

            posted on 2012-01-27 09:28 athxy 閱讀(792) 評(píng)論(1)  編輯 收藏 引用

            Feedback

            # re: Boost高性能網(wǎng)絡(luò)編程 2012-01-27 09:29 athxy

            Linux/UNIX C++培訓(xùn)
            專(zhuān)注Linux/UNIX服務(wù)器端的軟件開(kāi)發(fā)(后臺(tái)開(kāi)發(fā))培訓(xùn),
            課程涉及服務(wù)器端軟件開(kāi)發(fā)的方方面面:Linux/UNIX、C++、Boost、ACE、Shell編程、Oracle/MySQL、數(shù)據(jù)庫(kù)建模、UML建模、項(xiàng)目實(shí)踐、開(kāi)發(fā)模式等等  回復(fù)  更多評(píng)論   



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


            久久精品一本到99热免费| 国产香蕉久久精品综合网| 蜜臀av性久久久久蜜臀aⅴ| 久久国产精品无码一区二区三区| 99久久久国产精品免费无卡顿| 国产精品欧美亚洲韩国日本久久 | 久久这里都是精品| 国内精品九九久久精品| 久久综合久久综合九色| 亚洲v国产v天堂a无码久久| 久久精品日日躁夜夜躁欧美| 国产精品久久久久久搜索| 一本色道久久88综合日韩精品 | 精品免费tv久久久久久久| 久久久久无码专区亚洲av| 无遮挡粉嫩小泬久久久久久久| 国产亚洲色婷婷久久99精品91| 亚洲精品无码久久一线| 久久久久国产精品三级网| 国产精品久久久久天天影视| 久久91精品国产91| 久久免费观看视频| 国产国产成人精品久久| 精品久久久久久国产 | 亚洲v国产v天堂a无码久久| avtt天堂网久久精品| 男女久久久国产一区二区三区 | 久久人搡人人玩人妻精品首页| 成人综合伊人五月婷久久| 亚洲中文久久精品无码ww16| 久久精品一区二区三区中文字幕| 狠狠色丁香婷综合久久| 国产成人久久AV免费| 久久亚洲精精品中文字幕| 日韩人妻无码精品久久免费一| 中文字幕无码精品亚洲资源网久久| 久久精品99无色码中文字幕| 久久99精品国产麻豆蜜芽| 久久综合成人网| 一本久道久久综合狠狠躁AV| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 |