由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版]C++新经典(Linux C++通信架构实战)
¥ ×1
店铺公告
为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。
温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。
关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。
第1章 课程介绍
1.1 本书内容详细介绍
1.1.1 内容总述
1.1.2 为什么选择Linux操作系统平台
1.1.3 讲解规划和学习建议
1.1.4 书籍推荐和读书须知
1.2 环境搭建详细介绍
1.2.1 Windows下的Visual Studio 2019安装
1.2.2 准备一个Word文档
1.2.3 Windows下的虚拟机安装
1.2.4 在虚拟机中安装Linux操作系统
1.2.5 配置固定IP地址
1.2.6 配置远程连接
1.2.7 安装编译工具gcc、g++等
1.2.8共享一个操作第2章 进入Nginx之门
2.1 Nginx简介、选择理由、安装和使用
2.1.1 Nginx简介
2.1.2 为什么选择Nginx
2.1.3 安装Nginx,搭建Web服务器
2.1.4 Nginx的启动和简单使用
2.2 Nginx整体结构、进程模型
2.2.1 Nginx的整体结构
2.2.2 Nginx进程模型细说
第3章 Nginx开发初步
3.1 学习Nginx源码前的准备工作
3.1.1 Nginx源码总述
3.1.2 Nginx源码查看工具
3.1.3 Nginx源码入口函数定位
3.1.4 创建一个自己的Linux下的C语言程序
3.2 Nginx源码学法,终端和进程的关系
3.2.1 Nginx源码学习方法
3.2.2 终端和进程的关系
3.3 信号的概念、认识、处理动作
3.3.1 信号的基本概念
3.3.2 通过kill命令认识一些信号
3.3.3 进程的状态
3.3.4 常用信号列举
3.3.5 信号处理的相关动作
3.4 UNIX/Linux体系结构、信号编程初步
3.4.1 UNIX/Linux操作系统体系结构
3.4.2 signal函数范例
3.5 信号编程进阶、sigprocmask范例
3.5.1 信号集(信号屏蔽字)
3.5.2 信号相关函数
3.5.3 sigprocmask等信号函数范例演示
3.6 fork函数详解、范例演示
3.6.1 简单认识fork函数
3.6.2 进一步认识fork函数
3.6.3 完善fork代码
3.6.4 一个和fork执行有关的逻辑判断
3.6.5 fork失败的可能原因
3.7 守护进程详解、范例演示
3.7.1 普通进程运行观察
3.7.2 守护进程基本概念
3.7.3 守护进程编写规则
3.7.4 守护进程不会收到的信号
3.7.5 守护进程和后台进程的区别
第4章 服务器程序框架初步
4.1 服务器程序目录规划、makefile编写
4.1.1 信号高级认识范例
4.1.2 服务器架构初步
4.2 读配置文件、查泄漏、设置标题实战
4.2.1 基础设施之配置文件读取
4.2.2 内存泄漏的检查工具
4.2.3 设置进程名称(标题)
4.3 日志打印实战,优化main函数调用顺序
4.3.1 基础设施之日志打印实战代码一
4.3.2 设置时区
4.3.3 基础设施之日志打印实战代码二
4.3.4 理顺main函数中代码执行顺序
4.4 信号、子进程实战,文件I/O详谈
4.4.1 信号功能实战
4.4.2 Nginx中创建worker子进程
4.4.3 日志输出重要信息讲解
4.4.4 write函数思考
4.4.5 掉电导致write写入的数据丢失破解法
4.4.6 标准I/O库
4.5 守护进程及信号处理实战
4.5.1 守护进程功能的实现
4.5.2 信号处理函数的进一步完善(避免僵尸子进程)
第5章 网络通信实战
5.1 C/S、TCP/IP妙趣横生、惟妙惟肖谈
5.1.1 客户端与服务器端
5.1.2 网络模型
5.1.3 最简单的客户端和服务器程序实现代码
5.1.4 TCP和UDP的区别
5.2 TCP三次握手详析,telnet、Wireshark示范
5.2.1 TCP连接的三次握手
5.2.2 telnet工具使用介绍
5.2.3 Wireshark监视数据包
5.2.4 TCP断开的四次挥手
5.3 TCP状态转换,TIME_WAIT详解,SO_REUSEADDR
5.3.1 TCP状态转换
5.3.2 TIME_WAIT状态
5.3.3 SO_REUSEADDR选项
5.4 listen队列剖析、阻塞与非阻塞、同步与异步
5.4.1 listen队列剖析
5.4.2 阻塞与非阻塞I/O
5.4.3 异步与同步I/O
5.5 监听端口实战、epoll介绍及原理详析
5.5.1 监听端口
5.5.2 epoll技术简介
5.5.3 epoll原理与函数介绍
5.6 通信代码精粹之epoll函数实战1
5.6.1 提醒注意
5.6.2 配置文件的修改
5.6.3 epoll函数实战
5.7 通信代码精粹之epoll函数实战2
5.7.1 ngx_epoll_process_events函数调用位置
5.7.2 ngx_epoll_process_events函数内容
5.7.3 ngx_event_accept函数内容
5.7.4 总结和测试
5.7.5 事件驱动总结
5.7.6 一道腾讯后台开发的面试题
5.8 ET、LT深释,服务器设计、粘包解决
5.8.1 ET、LT模式深入分析及测试
5.8.2 本项目的服务器设计
5.9 通信代码精粹之收包、解包实战
5.9.1 收包分析及包头结构定义
5.9.2 收包状态宏定义
5.9.3 收包实战代码
5.9.4 测试服务器收包避免推诿扯皮
第6章 服务器业务逻辑处理框架
6.1 业务逻辑之多线程、线程池实战
6.1.1 学习方法
6.1.2 多线程的提出
6.1.3 线程池实战代码
6.1.4 线程池的使用
6.2 业务逻辑之打通业务处理脉搏实战
6.2.1 线程池代码调整及补充说明
6.2.2 线程池实现具体业务之准备代码
6.2.3 threadRecvProcFunc成员函数讲解
6.2.4 整体测试工作的开展
6.3 预发包,多线程资源回收深度思考
6.3.1 业务逻辑细节写法说明
6.3.2 连接池中连接回收的深度思考
6.3.3 程序(进程)退出时线程的安全终止
6.3.4 epoll事件处理的改造
6.3.5 连接延迟回收的具体应用
6.4 LT发数据机制深释、gdb调试浅谈
6.4.1 水平触发模式(LT)下发送数据深度解释
6.4.2 gdb调试浅谈
6.5 发数据、信号量、并发、多线程综合实战
6.5.1 发送数据指导思想
6.5.2 发送数据代码实战
6.5.3 发送数据后续处理代码
第7章 画龙点睛之服务器安全与完善
7.1 过往总结、心跳包代码实战
7.1.1 前面学习的总结
7.1.2 心跳包概念
7.1.3 心跳包代码实战
7.2 控制连入数,黑客攻击防范及畸形包应对
7.2.1 控制并发连入数量
7.2.2 黑客攻击的防范
7.2.3 超时直接踢出服务器的需求
7.3 超负荷安全处理、综合压力测试
7.3.1 输出一些观察信息
7.3.2 遗漏的安全问题思考
7.3.3 压力测试前的准备工作
7.3.4 压力测试
7.4 惊群、性能优化大局观
7.4.1 CPU占比与惊群
7.4.2 性能优化大局观
7.4.3 性能优化的实施
7.4.4 配置最大允许打开的文件句柄数
7.4.5 内存池补充说明
第8章 总结与展望
8.1 遗留问题探讨增补之消息跳跃发送
8.1.1 调整ngx_write_request_handler函数的代码顺序
8.1.2 消息的跳跃发送
8.2 结束语、课程总结
8.2.1 本书概要总结
8.2.2 技术总结
8.2.3 项目的用途总结
8.2.4 学习方法总结
8.2.5 架构师之路
8.2.6 代码统计与再见
本书是一部介绍在Linux下使用c++开发网络通信服务器程序的书。本书共8章36节,介绍了一个完整的项目,其中包括通信框架和业务逻辑框架,有以下几个特点:①项目本身是一个完整的多线程高并发的服务器程序;②支持TCP长连接,按照“包头+包体格式”正确接收客户端发送过来的数据包,完美解决收包时的数据粘包问题;③可根据收到的不同数据包选择不同的业务处理逻辑;④可将业务处理产生的结果数据包正确返回给客户端。
项目中用到的主要开发技术和特色包括:①epoll高并发通信技术,用到的触发模式是epoll中的水平触发模式(LT);②通过线程池技术处理业务逻辑;③线程之间的同步技术包括互斥量和信号量;④连接池中连接的延迟回收技术,可极大程度地消除诸多导致服务器程序工作不稳定的因素;⑤专门处理数据发送的一整套数据发送逻辑以及对应的发送线程;⑥信号处理、配置文件读取、日志的打印输出、调用fork创建子进程、创建守护进程等技术。
本书适合作为已经掌握C/C++语言,希望进一步深入学习的开发人员的自学参考用书。
王健伟,男,1976年9月生,网名狂想(KuangXiang),1995年毕业于哈尔滨工程大学计算机及应用专业,拥有20多年软件开发经验,参与开发过数十个实际项目,涉及网络通信、网络安全、网络游戏等领域,具备极其深厚的软件开发实战经验。曾参与创办深圳知名网络安全公司安络科技有限公司,是中国首套网络安全在线扫描评估系统项目负责人、全球同服独立游戏《冒险之路》制作人。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格