网络编程原理与实践 / 普通高等教育计算机类课改系列教材
¥56.00定价
作者: 张彤
出版时间:2024-08
出版社:西安电子科技大学出版社
- 西安电子科技大学出版社
- 9787560673028
- 1-1
- 531115
- 16开
- 2024-08
- 自动化技术、计算机技术
- 本科
目录
第1章 网络编程基础 1
1.1 概述 1
1.1.1 网络编程简介 1
1.1.2 ISO/OSI模型与TCP/IP模型 3
1.1.3 服务模型和服务方式 6
1.2 TCP/IP网络协议 7
1.2.1 IPv4协议 7
1.2.2 TCP协议 8
1.2.3 UDP协议 11
1.2.4 HTTP协议 12
1.2.5 链路层协议 15
1.3 抓包工具Wireshark 17
第2章 Ubuntu系统 21
2.1 Linux和Ubuntu 21
2.1.1 简介 21
2.1.2 VMware Workstation 22
2.1.3 Ubuntu安装与配置 26
2.2 常用Shell指令和工具 27
2.2.1 常用Shell指令 27
2.2.2 常用工具 31
第3章 TCP套接字编程 34
3.1 概述 34
3.1.1 套接字 34
3.1.2 套接字地址 35
3.1.3 字节顺序 36
3.2 TCP套接字函数 37
3.2.1 套接字函数和C/S编程模型 37
3.2.2 应用示例 44
3.3 DHCP 54
3.4 DNS与域名访问 56
3.4.1 DNS系统 56
3.4.2 域名访问函数 57
第4章 UDP套接字函数和高级套接字函数 59
4.1 UDP套接字函数 59
4.1.1 套接字函数和C/S编程模型 59
4.1.2 应用示例 61
4.2 高级套接字函数 65
4.3 多路复用 73
第5章 原始套接字及带外数据和IPv6编程 78
5.1 原始套接字 78
5.1.1 建立和选项 78
5.1.2 ping程序编写 81
5.2 TCP带外数据 89
5.2.1 带外数据概念 89
5.2.2 带外数据编程 91
5.3 IPv6编程 97
5.3.1 IPv6协议 97
5.3.2 IPv6套接字编程 99
第6章 套接字编程 103
6.1 Qt编程 103
6.1.1 Qt的发展历程 103
6.1.2 Qt的主要特点 103
6.1.3 Qt的基本类 105
6.1.4 Qt编程示例 105
6.2 Windows环境下的套接字函数编程 113
6.3 C#编程 117
第7章 信号和进程 123
7.1 信号 123
7.1.1 信号机制 123
7.1.2 信号发送 124
7.1.3 信号接收和处理 125
7.1.4 信号集合 128
7.2 进程 130
7.2.1 Linux进程管理 130
7.2.2 进程的生命过程 131
7.2.3 调用exec() 135
7.2.4 进程的同步 136
7.2.5 进程的终止 137
7.3 守护进程 141
7.3.1 守护进程编程 141
7.3.2 超级守护进程 145
第8章 进程间通信 147
8.1 概述 147
8.2 管道和命名管道 148
8.2.1 管道 148
8.2.2 命名管道 153
8.3 Unix域套接字 156
8.3.1 命名Unix域套接字 156
8.3.2 非命名Unix域套接字 159
8.4 信号灯和共享内存 161
8.4.1 信号灯 161
8.4.2 共享内存 166
第9章 I/O模型和服务器模型 170
9.1 I/O模型及编程 170
9.1.1 概述 170
9.1.2 阻塞式I/O编程 171
9.1.3 非阻塞式I/O编程 175
9.1.4 多路复用I/O编程 178
9.1.5 信号驱动I/O编程 180
9.2 服务器模型及编程 184
9.2.1 循环服务 184
9.2.2 并发服务 185
9.2.3 epoll 191
第10章 云网站的搭建 201
10.1 概述 201
10.1.1 云网站的优点和问题 201
10.1.2 基本服务模型 201
10.2 Nginx服务器 202
10.2.1 Nginx概述 202
10.2.2 Nginx配置 206
10.2.3 URL匹配及跨域问题 210
10.2.4 Nginx的运行 212
10.3 工具WinSCP 213
10.4 工具VNC Viewer 213
第11章 基于HTML的静态网页编程 216
11.1 HTML概述 216
11.2 HTML常用标签 217
11.2.1 基本结构及文本 217
11.2.2 表格/表单和输入/输出 219
11.2.3 语义元素 221
11.2.4 图形/图像和其他多媒体 223
11.2.5 脚本及其他 225
11.3 CSS和CSS3 226
11.3.1 选择器 226
11.3.2 盒子模型 229
11.3.3 CSS属性类型 230
第12章 基于JavaScript和Node.js的动态网页编程 235
12.1 JavaScript 235
12.1.1 概述及语法 235
12.1.2 js函数 237
12.1.3 DOM和事件处理及JQuery 239
12.1.4 外部函数引用 245
12.1.5 异步编程 249
12.2 Node.js 254
12.2.1 概述和安装配置 254
12.2.2 事件循环 256
12.2.3 模块 258
第13章 WebSocket和MQTT 261
13.1 WebSocket 261
13.1.1 长连接概念 261
13.1.2 基于WebSocket的聊天室 262
13.2 MQTT 267
13.2.1 物联网与MQTT协议 267
13.2.2 基于云平台的MQTT服务器 269
13.2.3 基于Node.js的MQTT编程 277
第14章 全栈开发示例 282
14.1 全栈开发和示例方案 282
14.1.1 全栈开发 282
14.1.2 示例方案 282
14.2 硬件系统设计 284
14.3 后端和MQTT系统设计 289
14.4 前端设计 290
参考文献 294
1.1 概述 1
1.1.1 网络编程简介 1
1.1.2 ISO/OSI模型与TCP/IP模型 3
1.1.3 服务模型和服务方式 6
1.2 TCP/IP网络协议 7
1.2.1 IPv4协议 7
1.2.2 TCP协议 8
1.2.3 UDP协议 11
1.2.4 HTTP协议 12
1.2.5 链路层协议 15
1.3 抓包工具Wireshark 17
第2章 Ubuntu系统 21
2.1 Linux和Ubuntu 21
2.1.1 简介 21
2.1.2 VMware Workstation 22
2.1.3 Ubuntu安装与配置 26
2.2 常用Shell指令和工具 27
2.2.1 常用Shell指令 27
2.2.2 常用工具 31
第3章 TCP套接字编程 34
3.1 概述 34
3.1.1 套接字 34
3.1.2 套接字地址 35
3.1.3 字节顺序 36
3.2 TCP套接字函数 37
3.2.1 套接字函数和C/S编程模型 37
3.2.2 应用示例 44
3.3 DHCP 54
3.4 DNS与域名访问 56
3.4.1 DNS系统 56
3.4.2 域名访问函数 57
第4章 UDP套接字函数和高级套接字函数 59
4.1 UDP套接字函数 59
4.1.1 套接字函数和C/S编程模型 59
4.1.2 应用示例 61
4.2 高级套接字函数 65
4.3 多路复用 73
第5章 原始套接字及带外数据和IPv6编程 78
5.1 原始套接字 78
5.1.1 建立和选项 78
5.1.2 ping程序编写 81
5.2 TCP带外数据 89
5.2.1 带外数据概念 89
5.2.2 带外数据编程 91
5.3 IPv6编程 97
5.3.1 IPv6协议 97
5.3.2 IPv6套接字编程 99
第6章 套接字编程 103
6.1 Qt编程 103
6.1.1 Qt的发展历程 103
6.1.2 Qt的主要特点 103
6.1.3 Qt的基本类 105
6.1.4 Qt编程示例 105
6.2 Windows环境下的套接字函数编程 113
6.3 C#编程 117
第7章 信号和进程 123
7.1 信号 123
7.1.1 信号机制 123
7.1.2 信号发送 124
7.1.3 信号接收和处理 125
7.1.4 信号集合 128
7.2 进程 130
7.2.1 Linux进程管理 130
7.2.2 进程的生命过程 131
7.2.3 调用exec() 135
7.2.4 进程的同步 136
7.2.5 进程的终止 137
7.3 守护进程 141
7.3.1 守护进程编程 141
7.3.2 超级守护进程 145
第8章 进程间通信 147
8.1 概述 147
8.2 管道和命名管道 148
8.2.1 管道 148
8.2.2 命名管道 153
8.3 Unix域套接字 156
8.3.1 命名Unix域套接字 156
8.3.2 非命名Unix域套接字 159
8.4 信号灯和共享内存 161
8.4.1 信号灯 161
8.4.2 共享内存 166
第9章 I/O模型和服务器模型 170
9.1 I/O模型及编程 170
9.1.1 概述 170
9.1.2 阻塞式I/O编程 171
9.1.3 非阻塞式I/O编程 175
9.1.4 多路复用I/O编程 178
9.1.5 信号驱动I/O编程 180
9.2 服务器模型及编程 184
9.2.1 循环服务 184
9.2.2 并发服务 185
9.2.3 epoll 191
第10章 云网站的搭建 201
10.1 概述 201
10.1.1 云网站的优点和问题 201
10.1.2 基本服务模型 201
10.2 Nginx服务器 202
10.2.1 Nginx概述 202
10.2.2 Nginx配置 206
10.2.3 URL匹配及跨域问题 210
10.2.4 Nginx的运行 212
10.3 工具WinSCP 213
10.4 工具VNC Viewer 213
第11章 基于HTML的静态网页编程 216
11.1 HTML概述 216
11.2 HTML常用标签 217
11.2.1 基本结构及文本 217
11.2.2 表格/表单和输入/输出 219
11.2.3 语义元素 221
11.2.4 图形/图像和其他多媒体 223
11.2.5 脚本及其他 225
11.3 CSS和CSS3 226
11.3.1 选择器 226
11.3.2 盒子模型 229
11.3.3 CSS属性类型 230
第12章 基于JavaScript和Node.js的动态网页编程 235
12.1 JavaScript 235
12.1.1 概述及语法 235
12.1.2 js函数 237
12.1.3 DOM和事件处理及JQuery 239
12.1.4 外部函数引用 245
12.1.5 异步编程 249
12.2 Node.js 254
12.2.1 概述和安装配置 254
12.2.2 事件循环 256
12.2.3 模块 258
第13章 WebSocket和MQTT 261
13.1 WebSocket 261
13.1.1 长连接概念 261
13.1.2 基于WebSocket的聊天室 262
13.2 MQTT 267
13.2.1 物联网与MQTT协议 267
13.2.2 基于云平台的MQTT服务器 269
13.2.3 基于Node.js的MQTT编程 277
第14章 全栈开发示例 282
14.1 全栈开发和示例方案 282
14.1.1 全栈开发 282
14.1.2 示例方案 282
14.2 硬件系统设计 284
14.3 后端和MQTT系统设计 289
14.4 前端设计 290
参考文献 294