课程简介
课程内容:理解常见服务器编程模型的特点以及各种模型的优劣势,针对不同应用场景可选择使用不同的服务器编程模型编写服务器程序;有针对性地讲解服务器编程的性能瓶颈、安全性、可靠性的解决方案。
目标收益
课程中的内容基本来自于本人多年开发经验及一些知名开源服务器程序的归纳与总结,同时结合一些实际项目中的经典案例进行比较分析,便于学员快速掌握和理解高效服务器编程技能。
培训对象
各类 IT/软件企业和研发机构的软件架构师、软件设计师、程序员;学员需具备基础的网络知识,理解 TCP/IP 协议的应用特点,同时具有 LINUX 应用开发经验。
课程大纲
内容一:基础知识:进程与编程编程 |
1. 进程与线程含义及系统编程 API 2. 进程池与线程池设计 3. 如何设计高效的线程池框架 4. 影响线程池效率的瓶颈是什么,该如何解决 5. 举例说明如何使用线程池编写简单网络服务器程序 |
内容二:基础知识:网络套接字编程 |
1. TCP/IP 的协议分层概念 2. 网络套接字的创建 3. 网络客户端接口 4. 网络服务端接口 5. 网络域名解析接口 6. 网络套接字选项接口 7. 多路复用系统接口(select/poll/epoll) 8. 非阻塞网络编程 |
内容三:四种网络服务器编程举例 |
1. 进程池网络服务器编程模型 2. 线程池网络服务器编程 3. 非阻塞网络服务器编程 4. UDP网络服务器编程 5. 触发器服务器编程 |
内容四:ACL网络编程与服务器编程 |
1. 较为底层的网络编程 2. 较为高层的网络编程 3. 网络流 IO 过程编程 4. 非阻塞网络编程(客户端/服务端) |
内容五:ACL网络应用编程 |
1. HTTP 客户端及服务端编程 2. 客户端网络连接池编程 3. 数据库连接池编程 4. Memcache客户端连接池编程 5. beanstalkd消息队列客户端编程 6. smtp 客户端发信编程 |
内容一:基础知识:进程与编程编程 1. 进程与线程含义及系统编程 API 2. 进程池与线程池设计 3. 如何设计高效的线程池框架 4. 影响线程池效率的瓶颈是什么,该如何解决 5. 举例说明如何使用线程池编写简单网络服务器程序 |
内容二:基础知识:网络套接字编程 1. TCP/IP 的协议分层概念 2. 网络套接字的创建 3. 网络客户端接口 4. 网络服务端接口 5. 网络域名解析接口 6. 网络套接字选项接口 7. 多路复用系统接口(select/poll/epoll) 8. 非阻塞网络编程 |
内容三:四种网络服务器编程举例 1. 进程池网络服务器编程模型 2. 线程池网络服务器编程 3. 非阻塞网络服务器编程 4. UDP网络服务器编程 5. 触发器服务器编程 |
内容四:ACL网络编程与服务器编程 1. 较为底层的网络编程 2. 较为高层的网络编程 3. 网络流 IO 过程编程 4. 非阻塞网络编程(客户端/服务端) |
内容五:ACL网络应用编程 1. HTTP 客户端及服务端编程 2. 客户端网络连接池编程 3. 数据库连接池编程 4. Memcache客户端连接池编程 5. beanstalkd消息队列客户端编程 6. smtp 客户端发信编程 |