《网络程序设计应用教程》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:曾凡锋
  • 出 版 社:
  • 出版年份:2019
  • ISBN:
  • 页数:0 页
图书介绍:

第1章 网络编程基础 1

1.1 计算机网络基础 1

1.1.1 计算机协议及协议分层 1

1.1.2 网络寻址方式 4

1.2 网络应用程序特点及类型 6

1.3 网络通信模型 7

1.4 客户端/服务器模型 8

1.4.1 客户端和服务器的关系 9

1.4.2 服务器的关键点 10

1.5 其他常见通信模型 11

1.6 网络数据 13

1.6.1 字节顺序 14

1.6.2 结构的对齐 14

1.7 NetBIOS 16

1.8 编程实现计算机网络基本信息查询 17

1.8.1 问题 17

1.8.2 实现方法 17

1.8.3 具体实现 17

1.9 习题 22

第2章 套接字基础 23

2.1 TCP/IP协议软件接口 23

2.2 套接字 24

2.2.1 套接字编程接口的起源与发展 24

2.2.2 套接字的抽象概念 24

2.2.3 套接字接口的特点和内容 25

2.3 Windows套接字 26

2.3.1 Windows Sockets规范 26

2.3.2 WinSock头文件和库文件 27

2.3.3 WinSock API 27

2.3.4 WinSock初始化 29

2.3.5 错误检查和处理 30

2.3.6 WinSock的地址描述 30

2.3.7 创建套接字 33

2.4 套接字选项和I/O控制命令 33

2.4.1 套接字选项 33

2.4.2 I/O控制命令 38

2.5 套接字的I/O模式 39

2.5.1 网络通信中的I/O等待 40

2.5.2 套接字的I/O模式 40

2.6 习题 43

第3章 流式套接字编程 44

3.1 TCP传输协议 44

3.1.1 TCP报文格式 44

3.1.2 TCP协议的传输特点 45

3.1.3 TCP连接的建立与关闭 46

3.2 流式套接字的编程模型 48

3.2.1 流式套接字的通信流程 48

3.2.2 流式套接字的编程模式 49

3.3 相关套接字函数 52

3.3.1 创建和关闭套接字 52

3.3.2 绑定地址 54

3.3.3 监听套接字 55

3.3.4 连接套接字 56

3.3.5 数据通信 58

3.4 阻塞流式套接字编程实例 59

3.4.1 问题 59

3.4.2 实现方法 60

3.4.3 基于阻塞流式套接字的服务器实现 60

3.4.4 基于阻塞流式套接字的客户端实现 62

3.5 非阻塞流式套接字编程实例 64

3.5.1 问题 64

3.5.2 实现方法 65

3.5.3 基于非阻塞流式套接字的服务器实现 65

3.5.4 基于非阻塞流式套接字的客户端实现 68

3.6 Windows下的多线程编程 71

3.6.1 线程的创建和终止 71

3.6.2 线程的同步 72

3.6.3 同步对象 73

3.7 基于流式套接字支持多客户端的编程实例 76

3.7.1 问题 76

3.7.2 实现方法 76

3.7.3 基于阻塞流式套接字的多线程服务器的实现 76

3.7.4 基于阻塞流式套接字的多线程客户端的实现 80

3.8 习题 83

第4章 数据报套接字编程 84

4.1 UDP用户数据报协议 84

4.1.1 UDP报文格式 84

4.1.2 UDP协议的传输特点 85

4.2 数据报套接字的编程模型 85

4.2.1 数据报套接字的通信流程 86

4.2.2 数据报套接字的编程模式 87

4.3 相关套接字函数 89

4.3.1 创建和关闭套接字 89

4.3.2 绑定地址 90

4.3.3 数据通信 90

4.4 数据报套接字编程实例 92

4.4.1 问题 92

4.4.2 实现方法 92

4.4.3 数据报套接字的服务器应用程序的实现 92

4.4.4 数据报套接字的客户端应用程序的实现 94

4.4.5 连接模式下数据报套接字的客户端应用程序的实现 97

4.5 数据报套接字广播通信编程实例 99

4.5.1 问题 99

4.5.2 实现方法 99

4.5.3 数据报套接字广播通信的服务器应用程序的实现 99

4.5.4 数据报套接字广播通信的客户端应用程序的实现 101

4.6 数据报套接字通信可靠性的提高 103

4.6.1 数据报套接字的不可靠问题 103

4.6.2 判断服务器是否启动 104

4.6.3 处理传输中数据报丢失的问题 105

4.6.4 处理接收到的干扰数据 106

4.6.5 流量溢出问题 106

4.7 习题 106

第5章 原始套接字编程 107

5.1 原始套接字简介 107

5.1.1 原始套接字和标准套接字的差别 107

5.1.2 原始套接字的功能 108

5.1.3 原始套接字的应用场合 109

5.2 原始套接字的编程模型 109

5.2.1 原始套接字的通信流程 109

5.2.2 原始套接字的编程模式 110

5.3 相关套接字函数 112

5.3.1 创建和关闭套接字 112

5.3.2 绑定地址 113

5.3.3 数据通信 114

5.4 通过原始套接字实现网络数据包捕获实例 115

5.4.1 问题 115

5.4.2 实现方法 115

5.4.3 IP协议介绍 115

5.4.4 实现网络数据包捕获应用程序 117

5.5 通过原始套接字实现主机连通性检测实例 121

5.5.1 问题 121

5.5.2 实现方法 121

5.5.3 ICMP协议介绍 122

5.5.4 实现主机连通性检测应用程序 123

5.6 习题 130

第6章 应用层网络编程 131

6.1 应用层协议 131

6.1.1 FTP协议 132

6.1.2 SMTP协议 135

6.1.3 POP3协议 138

6.1.4 HTTP协议 140

6.1.5 MQTT协议 144

6.2 WinInet 146

6.2.1 HINTERNET句柄 147

6.2.2 WinInet函数 148

6.3 Internet应用相关类 156

6.3.1 CInternetSession类 156

6.3.2 CFtpConnection类 159

6.3.3 CHttpConnection类 162

6.3.4 CFtpFileFind类 163

6.4 下载HTTP资源编程实例 164

6.4.1 问题 164

6.4.2 实现方法 164

6.4.3 下载HTTP资源应用程序的实现 164

6.5 发送电子邮件编程实例 168

6.5.1 问题 168

6.5.2 实现方法 168

6.5.3 发送电子邮件应用程序的实现 168

6.6 FTP应用程序编程实例 179

6.6.1 问题 179

6.6.2 实现方法 180

6.6.3 FTP应用程序的实现 180

6.7 主机屏幕监控应用程序编程实例 185

6.7.1 问题 185

6.7.2 位图 185

6.7.3 实现方法 187

6.7.4 主机屏幕监控应用程序服务器的实现 187

6.7.5 主机屏幕监控应用程序客户端的实现 193

6.8 MQTT通信编程实例 197

6.8.1 问题 197

6.8.2 MQTT服务器搭建 197

6.8.3 编程实现MQTT客户端 198

6.9 习题 199

第7章 网络底层编程 200

7.1 WinPcap简介 200

7.2 WinPcap组成 202

7.2.1 WinPcap体系架构 202

7.2.2 网络接口驱动 203

7.2.3 NPF设备驱动 203

7.2.4 Packet.dll 204

7.2.5 Wpcap.dll 204

7.3 WinPcap安装及编程环境配置 205

7.3.1 下载安装WinPcap 205

7.3.2 在Visual Studio下配置WinPcap编程环境 207

7.4 Wpcap.dll中定义的主要数据结构和函数 208

7.4.1 主要数据结构 208

7.4.2 主要函数 209

7.5 Packet.dll的主要数据结构和函数 212

7.5.1 主要数据结构 212

7.5.2 主要函数 214

7.6 使用WinPcap实现网络数据包捕获实例 217

7.6.1 问题 217

7.6.2 实现方法 217

7.6.3 实现网络数据包捕获应用程序 217

7.7 使用WinPcap发送ARP伪装数据包实例 222

7.7.1 问题 222

7.7.2 实现方法 223

7.7.3 ARP协议介绍 223

7.7.4 实现网络发送ARP伪装数据包捕获应用程序 224

7.8 习题 229