Boost高性能网络编程

Boost高性能网络编程
一、课程目标
      昆山轩辕高端IT培训,本次课程围绕高性能网络编程这一主题,从众多的Boost类库中挑选出Boost.Asio、Boost.Thread以及其它配套的实用库,作为主要学习的内容,通过本次课程的学习,学员将具备以下能力:

掌握智能指针、高阶函数对象、对象序列化/反序列化等类库的使用;
理解现代操作系统线程模型、并发以及同步机制;
熟练使用Boost.Thread线程管理和同步机制接口开发并发应用;
深刻理解现代操作系统中事件多路分离和分派机制如select、epoll等、了解异步I/O以及完成事件的分派;
熟练使用Boost.Asio构建稳定、高效和灵活的网络应用。
四、课程大纲

本次课程由以下几个部分构成:

1、Boost.Serialization - 序列化

基本类型和自定义类型的序列化;
数组、指针和智能指针的序列化;
STL容器、std::string的序列化;
识别类的版本;
XML格式的archive;
二进制格式的archive。
2、Boost.Smart_Ptr - 智能指针

回顾std::auto_ptr<>;
无Copyable 语义的scoped_ptr<>;
shared_ptr<>;
weak_ptr<>;
enable_shared_from_this<>;
3、Boost.Bind and Boost.Function- 函数对象相关

什么是函数对象?
回顾std::bind1st()、std::bind2nd()、std::mem_fun()、std::ptr_fun()等适配器;
Boost bind();
Boost Function;
Boost ref()。
4、Boost.Signals2 - 实现回调机制

Boost Signal2:线程安全的Signal-Slot机制 (Publishers → Signals/Subscribers → Slots),即Observer模式的实现;
简单的回调;
多个Slot回调;
管理Connections;
一些示例。
5、一些实用类库

Boost.Property_Tree;
Boost.Format;
6、Boost.Thread - 多线程

线程与进程之区别;
用户线程与内核线程;
不同操作系统中的线程模型;
线程管理:线程创建、中断、分离/连接等;
同步机制:Mutex、Lock、Condition_variable、TSS等。
7、Boost.Asio - 网络编程

Boost.Asio库,通过对各类操作系统原生的socket API以及事件多路分离、异步I/O API的封装,构成了一个性能优秀、可移植性高、便于编程的网络编程框架,使复杂的网络编程任务变得简单、安全、并且高效。

Asio相关概念:同步I/O和异步I/O、Proactor模式、Asio和线程;
Linux 下 I/O事件多路分离机制:select、epoll;
TCP同步I/O Server/Client编程示例;
UDP同步I/O Server/Client编程示例;
TCP异步I/O Server/Client编程示例;
UDP异步I/O Server/Client编程示例;
Timer - 定时器;
Asio核心接口介绍。
8、高性能网络编程讨论

考究高性能网络编程中应该遵循的原则,讨论并发、同步、事件多路分离等机制的适用场合。
网络应用的瓶颈在何处?
事件多路分离 vs 一连接一线程 (Event demultiplexing vs One thread per connection);
同步I/O vs 异步I/O (Synchronous I/O vs Asynchronous I/O);
如何适当地使用多线程?
什么时候需要多个 事件多路分离线程?
9、应用层协议定义与实现

为什么要自定义应用层协议?
定义应用层协议 (以XMMEP协议为例);
用C++实现自定义的协议 (以XMMEP协议为例)。
注:XMMEP为X-Messenger Message Exchanging Protocol。
六、课程资源
      可获取的课程资源见:教学资源。
QQ:1197961893

原文链接: https://www.cnblogs.com/minm/archive/2012/08/31/2665411.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    Boost高性能网络编程

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/61424

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 上午9:58
下一篇 2023年2月9日 上午9:59

相关推荐