
出版社: 清华大学
原售价: 99.00
折扣价: 75.24
折扣购买: C++新经典(Linux C++通信架构实战)
ISBN: 9787302555292
王健伟,1995年毕业于哈尔滨工程大学计算机及应用专业,20多年软件开发经验,经历过数十个软件项目开发包括网络通信、网络安全、网络游戏等领域,多年的摸爬滚打使自身具备了极其深厚的开发实力和实战经验。中国首套网络安全在线扫描评估系统项目负责人,电子工业出版社2003年《Crystal Reports水晶报表设计与开发实务》书籍作者,全球同服独立游戏《冒险之路》制作人。
第3章 Nginx开发初步 本章将讲解Linux中许多基本的概念,如信号、创 建进程、创建守护进程等,以及与这些话题相关的实现 代码。这些基本概念和代码片段都与后面章节的实战项 目息息相关,都在为后面的实战项目打基础,所以本章 内容非常重要,读者一定要学通学透。 本章题目定为“Nginx开发初步”,是因为本书的 主要目的是借鉴Nginx精华代码,搭建自己的服务器程 序通信框架,所以笔者主要讲解Nginx的一些核心内容 ,不会全面讲解Nginx。 3.1学习Nginx源码前的准备工作 3.1.1Nginx源码总述 前面已经下载了Nginx源码 (nginx1.16.1.tar.gz文件),笔者也在Windows计 算机下载了一份。这是压缩文件,笔者的Windows计算 机上安装了winrar,可以解压这个.tar.gz文件(右击 该文件选择“解压到nginx1.16.1\”即可),解压 后可以看到nginx1.16.1文件夹(目录),所有 Nginx源码文件都在这个文件夹中。 nginx1.16.1.tar.gz文件也随配套学习资料一 起提供给读者。 nginx1.16.1文件夹中的内容,在2.1.3节的第2 个问题中详细介绍过了,其中应重点关注src子目录, 因为该目录是真正的源码目录。 src目录: Nginx源码目录 ①core目录: 核心代码 ②event目录: event(事件)模块相关代码 ③http目录: http(Web服务)模块相关代码 ④mail目录: 邮件模块相关代码 ⑤os目录: 操作系统相关代码 ⑥stream目录: 流处理相关代码 在Windows中右击src文件夹,查看属性,如图3.1 所示。 图3.1查看src文件夹的属性 图3.1中可以看到,src子文件夹中一共包含311个 文件、12个文件夹,只要掌握其中的一小部分,都将受 益匪浅。 3.1.2Nginx源码查看工具 为了方便查看这些源码,每位读者都可以选择自己 熟悉或顺手的查看工具。Visual Studio、Source Insight、Visual Studio Code,喜欢或者熟悉哪个可 以自由选择,笔者因为以往用过Visual Studio Code ,印象较好,所以决定使用Visual Studio Code来阅 读Nginx源码。 Visual Studio Code是微软开发的一个跨平台的 轻量级编辑器(不要跟Visual Studio弄混,Visual Studio是集成开发环境,而Visual Studio Code是编 辑器)。可以在Visual Studio Code中安装扩展模块 来支持很多特性,如语法高亮、跳跃到某个函数定义中 这是一本Linux下C++通信架构实战书籍,针对于C/C++语言已经掌握的很熟并希望进一步深造以将来用C++在Linux下从事网络通信领域/网络服务器的开发和架构工作。包括如下内容:(1)项目本身是一个极完整的多线程高并发的服务器程序;(2)按照包头包体格式正确的接收客户端发送过来的数据包, 完美解决收包时的数据粘包问题;(3)根据收到的包的不同来执行不同的业务处理逻辑;(4)把业务处理产生的结果数据包正确返回给客户端。