网站推广方法汇总,建筑公司网站设计模板,微网站预约网站开发,wordpress的简单介绍文章目录 1-1课程详细介绍1-2环境搭建详细介绍2-1nginx简介、选择理由、安装和使用2-2nginx整体结构、进程模型3-1学习nginx源码前的准备工作3-2nginx源码学法#xff0c;终端和进程的关系说3-3信号的概念、认识、处理动作3-4Unix/Linux体系结构、信号编程初步3-5信号编程进阶… 文章目录 1-1课程详细介绍1-2环境搭建详细介绍2-1nginx简介、选择理由、安装和使用2-2nginx整体结构、进程模型3-1学习nginx源码前的准备工作3-2nginx源码学法终端和进程的关系说3-3信号的概念、认识、处理动作3-4Unix/Linux体系结构、信号编程初步3-5信号编程进阶、sigprocmask范例3-6fork函数详解、范例演示3-7守护进程详解、范例演示4-1服务器程序目录规划、makefile编写4-2读配置文件、查泄漏、设置标题实战4-3日志打印实战优化main函数调用顺序4-4信号子进程实战文件IO详谈-14-5信号子进程实战文件IO详谈-24-6守护进程及信号处理实战5-1C/S TCP/IP协议妙趣横生、惟妙惟肖谈5-2TCP三次握手详析、telnetwireshark示范5-3TCP状态转换TIME_WAITSO_REUSEADDR5-4listen()队列剖析、阻塞非阻塞、同步异步5-5监听端口实战、epoll介绍及原理详析5-6通讯代码精粹之epoll函数实战15-7通讯代码精粹之epoll函数实战2-15-8通讯代码精粹之epoll函数实战2-25-9ET、LT深释服务器设计、粘包解决5-10通讯代码精粹之收包解包实战6-1业务逻辑之多线程、线程池实战-16-2业务逻辑之多线程、线程池实战-26-3业务逻辑之打通业务处理脉搏实战6-4预发包多线程资源回收深度思考-16-5预发包多线程资源回收深度思考-26-6LT发数据机制深释、gdb调试浅谈6-7发数据、信号量、并发、多线程综合实战7-1过往总结、心跳包代码实战7-2控制连入数黑客攻击防范及畸形包应对7-3超负荷安全处理、综合压力测试7-4惊群、性能优化大局观8-1结束语、课程总结9-1问题1消息的跳跃发送 Linux C网络编程-王健伟 1-1课程详细介绍
1课程总述2基础要求和学习方法3简要自我介绍、讲解特点4课程详细说明5推荐书籍6结语
1-2环境搭建详细介绍
1windows下的vs2017安装2准备一个word文档3windows下的虚拟机安装4虚拟机中安装linux 操作系统5配置固定IP地址6配置远程连接7安装编译工具gcc,g 等8共享一个操作目录
2-1nginx简介、选择理由、安装和使用
1nginx简介2为什么选择nginx 3安装nginx搭建web服务器3.1安装前提3.2nginx源码下载以及目录结构简单认识3.3nginx的编译和安装4nginx的启动和简单使用4.1通讯程序基础概念
2-2nginx整体结构、进程模型
1nginx的整体结构1.1master进程和worker进程概览1.2nginx进程模型1.3调整worker进程数量2 nginx进程模型细说2.1nginx重载配置文件2.2nginx热升级2.3nginx的关闭2.4总结
3-1学习nginx源码前的准备工作
1nginx源码总述2nginx源码查看工具3nginx源码入口函数定位4创建一个自己的linux下的c语言程序5nginx源码怎么讲
3-2nginx源码学法终端和进程的关系说
1nginx源码学习方法2终端和进程的关系2.1终端与bash进程2.2终端上的开启进程2.3进程关系进一步分析2.4strace工具的使用2.5终端关闭时如何让进程不退出2.6后台运行
3-3信号的概念、认识、处理动作
1信号的基本概念2通过kill命令认识一些信号3进程的状态4常用的信号列举5信号处理的相关动作
3-4Unix/Linux体系结构、信号编程初步
1Unix/Linux操作系统体系结构2signal函数范例2.1可重入函数2.2不可重入函数的错用演示
3-5信号编程进阶、sigprocmask范例
1信号集2信号相关函数3sigprocmask等信号函数范例演示
3-6fork函数详解、范例演示
1fork()函数简单认识1.1fork()函数简单范例1.2僵尸进程的产生、解决SIGCHLD2fork()函数进一步认识3完善一下fork()代码3.1一个和fork()执行有关的逻辑判断4fork()失败的可能性
3-7守护进程详解、范例演示
1普通进程运行观察2守护进程基本概念3守护进程编写规则3.1文件描述符3.2输入输出重定向3.3空设备3.4实现范例4守护进程不会收到的信号4.1SIGHUP信号4.2SIGINT、SIGWINCH信号5守护进程和后台进程的区别
4-1服务器程序目录规划、makefile编写
1信号高级认识范例2服务器架构初步2.1目录结构规划2.2编译工具make的使用概述2.3makefile脚本用法介绍2.4makefile脚本具体实现讲解
4-2读配置文件、查泄漏、设置标题实战
1基础设施之配置文件读取1.1前提内容和修改1.2配置文件读取功能实战代码2内存泄漏的检查工具2.1memcheck的基本功能2.2内存泄漏检查示范3设置可执行程序的标题名称3.1原理和实现思路分析3.2设置可执行程序的标题实战代码
4-3日志打印实战优化main函数调用顺序
1基础设施之日志打印实战代码一2设置时区3基础设施之日志打印实战代码二3.1日志等级划分3.2配置文件中和日志有关的选项4捋顺main函数中代码执行顺序
4-4信号子进程实战文件IO详谈-1
1信号功能实战2nginx中创建worker子进程2.1sigsuspend()函数讲解3日志输出重要信息谈3.1换行回车进一步示意3.2printf()函数不加\n无法及时输出的解释4write()函数思考4.1掉电导致write()的数据丢失破解法5标准IO库
4-5信号子进程实战文件IO详谈-2
1信号功能实战2nginx中创建worker子进程2.1sigsuspend()函数讲解3日志输出重要信息谈3.1换行回车进一步示意3.2printf()函数不加\n无法及时输出的解释4write()函数思考4.1掉电导致write()的数据丢失破解法5标准IO库
4-6守护进程及信号处理实战
1守护进程功能的实现2信号处理函数的进一步完善2.1避免子进程被杀掉时变成僵尸进程
5-1C/S TCP/IP协议妙趣横生、惟妙惟肖谈
1客户端与服务器1.1解析一个浏览器访问网页的过程1.2客户端服务器角色规律总结2网络模型2.1OSI七层网络模型2.2TCP/IP协议四层模型2.3TCP/IP协议的解释和比喻3最简单的客户端和服务器程序实现代码3.1套接字socket概念3.2一个简单的服务器端通讯程序范例3.3IP地址简单谈3.4一个简单的客户端通讯程序范例3.5客户端服务器程序综合演示和调用流程图4TCP和UDP的区别
5-2TCP三次握手详析、telnetwireshark示范
1TCP连接的三次握手1.1最大传输单元MTU1.2TCP 包头结构1.3TCP 数据包收发之前的准备工作1.4TCP 三次握手建立连接的过程1.5为什么TCP握手是三次握手而不是二次2telnet工具使用介绍3wireshark监控数据包3.1TCP断开的四次挥手
5-3TCP状态转换TIME_WAITSO_REUSEADDR
1TCP状态转换2TIME_WAIT状态2.1RST标志3SO_REUSEADDR选项3.1两个进程绑定同一个IP和端口3.2TIME_WAIT状态时的bind绑定
5-4listen()队列剖析、阻塞非阻塞、同步异步
1listen()队列剖析 1.1监听套接字的队列 1.2accept()函数 1.3syn攻击 2阻塞与非阻塞I/O 3同步与异步I/O 3.1I/O复用 3.2思考题
5-5监听端口实战、epoll介绍及原理详析
1监听端口 1.1开启监听端口 2epoll技术简介 2.1epoll概述 2.2学习epoll要达到的效果及一些说明 3epoll原理与函数介绍 3.1课件介绍 3.2epoll_create()函数 3.3epoll_ctl()函数 3.4epoll_wait()函数 3.5内核向双向链表增加节点 3.6源码阅读额外说明
5-6通讯代码精粹之epoll函数实战1
1一个更正一个注意 2配置文件的修改 3epoll函数实战 3.1ngx_epoll_init函数内容 3.2ngx_epoll_init函数的调用
5-7通讯代码精粹之epoll函数实战2-1
1ngx_epoll_process_events函数调用位置 2ngx_epoll_process_events函数内容 2.1事件驱动 3ngx_event_accept函数内容 3.1epoll的两种工作模式LT和ET 4总结和测试 5事件驱动总结 6一道腾讯后台开发的面试题
5-8通讯代码精粹之epoll函数实战2-2
1ngx_epoll_process_events函数调用位置 2ngx_epoll_process_events函数内容 2.1事件驱动 3ngx_event_accept函数内容 3.1epoll的两种工作模式LT和ET 4总结和测试 5事件驱动总结 6一道腾讯后台开发的面试题
5-9ET、LT深释服务器设计、粘包解决
1ETLT模式深入分析及测试 2我们的服务器设计 2.1服务器设计原则总述 2.2收发包格式问题提出 2.3TCP粘包、缺包 2.4TCP粘包、缺包解决
5-10通讯代码精粹之收包解包实战
1收包分析及包头结构定义 2收包状态宏定义 3收包实战代码 4遗留问题处理 5测试服务器收包避免推诿扯皮
6-1业务逻辑之多线程、线程池实战-1
1学习方法 2多线程的提出 3线程池实战代码 3.1为什么引入线程池 4线程池的使用 4.1线程池的初始化 4.2线程池工作的激发 4.3线程池完善和测试
6-2业务逻辑之多线程、线程池实战-2
6-3业务逻辑之打通业务处理脉搏实战
1线程池代码调整及补充说明 2线程池实现具体业务之准备代码 2.1一个简单的crc32校验算法介绍 2.2引入新的CSocket子类 2.3设计模式题外话 2.4消息的具体设计 3threadRecvProcFunc()函数讲解 4整体测试工作的开展 4.1不做背锅侠 4.2客户端测试代码的调整
6-4预发包多线程资源回收深度思考-1
1业务逻辑细节写法说明 2连接池中连接回收的深度思考 2.1灵活创建连接池 2.2连接池中连接的回收 3程序退出时线程的安全终止 4epoll事件处理的改造 4.1增加新的事件处理函数 4.2调整对事件处理函数的调用 5连接延迟回收的具体应用
6-5预发包多线程资源回收深度思考-2
1业务逻辑细节写法说明 2连接池中连接回收的深度思考 2.1灵活创建连接池 2.2连接池中连接的回收 3程序退出时线程的安全终止 4epoll事件处理的改造 4.1增加新的事件处理函数 4.2调整对事件处理函数的调用 5连接延迟回收的具体应用
6-6LT发数据机制深释、gdb调试浅谈
1水平触发模式下发送数据深度解释 2gdb调试浅谈
6-7发数据、信号量、并发、多线程综合实战
1发送数据指导思想 2发送数据代码实战 2.1信号量 2.2数据发送线程 2.3可写通知到达后数据的继续发送 2.4发送数据的简单测试 3发送数据后续处理代码
7-1过往总结、心跳包代码实战
1前面学习的总结 2心跳包概念 2.1什么叫心跳包以及如何使用 2.2为什么引入心跳包 3心跳包代码实战 3.1接收心跳包与返回结果 3.2处理不发送心跳包的客户端 3.3测试代码的书写
7-2控制连入数黑客攻击防范及畸形包应对
1控制并发连入数量 2黑客攻击的防范 2.1flood攻击防范 2.2畸形数据包防范 3超时直接提出服务器的需求
7-3超负荷安全处理、综合压力测试
1输出一些观察信息 2遗漏的安全问题思考 2.1收到太多数据包处理不过来 2.2积压太多数据包发送不出去 2.3连入安全的进一步完善 3压力测试前的准备工作 3.1配置文件内容和配置项确认 3.2整理业务逻辑函数 4压力测试 4.1最大连接只在1000多个 4.2学习忠告
7-4惊群、性能优化大局观
1cpu占比与惊群 2性能优化大局观 3性能优化的实施 3.1绑定cpu、提升优进程先级 3.2TCP/IP协议的配置选项 3.3TCP/IP协议额外注意的一些算法、概念等 4配置最大允许打开的文件句柄数 5内存池补充说明
8-1结束语、课程总结
1课程概要总结 2课程技术总结 3项目的用途总结 4学习方法总结 5架构师之路 6卷2的计划 7再见
9-1问题1消息的跳跃发送
问题1消息的跳跃发送