《网路编程实用教程(第3版)》是2016年人民邮电出版社出版的图书,作者是段利国。
基本介绍
- 书名:网路编程实用教程(第3版)
- 作者:段利国
- ISBN:978-7-115-42341-2
- 出版社:人民邮电出版社
- 出版时间:2016-06
- 编辑:邹文波
基本信息
【作者】 | 段利国 | 【编辑】 | 邹文波 |
【ISBN】 | 978-7-115-42341-2 | 【日期】 | 2016-06 |
【版次】 | 3 | 【印次】 | 1 |
【页数】 | 307页 | 【字数】 | 519千字 |
【开本】 | 16 | 【定价】 | 52元 |
图书简介
本书主要介绍基于TCP/IP协定栈的套接字网路编程技术。全书分为10章,第1章介绍网路编程的基本概念及模式,第2章介绍套接字网路编程基础,第3章介绍Windows环境的WinSock编程基础,第4章介绍MFC编程,第5章介绍MFC WinSock类的编程,第6章介绍WinInet编程,第7章介绍WinSock的多执行绪编程,第8章介绍WinSock的I/O模型,第9章介绍HTTP及高级编程,第10章介绍电子邮件协定与编程。各章后都配有习题,便于读者理解掌握所学内容。
目录
第1章 概述 1
1.1 网路编程相关的基本概念 1
1.1.1 网路编程与进程通信 1
1.1.2 Internet中网间进程的标识 3
1.1.3 网路协定的特徵 7
1.2 三类网路编程 10
1.2.1 基于TCP/IP协定栈的网路编程 10
1.2.2 基于WWW套用的网路编程 10
1.2.3 基于.NET框架的Web Services网路编程 10
1.3 客户机/伺服器互动模式 13
1.3.1 网路套用软体的地位和功能 13
1.3.2 客户机/伺服器模式 14
1.3.3 客户机与伺服器的特性 15
1.3.4 容易混淆的术语 16
1.3.5 客户机与伺服器的通信过程 16
1.3.6 网路协定与C/S模式的关係 17
1.3.7 错综複杂的C/S互动 17
1.3.8 伺服器如何同时为多个客户机服务 18
1.3.9 标识一个特定服务 20
1.4 P2P模式 21
1.4.1 P2P技术的兴起 21
1.4.2 P2P的定义和特徵 21
1.4.3 P2P的发展 22
1.4.4 P2P的关键技术 22
1.4.5 P2P系统的套用与前景 22
习题 23
第2章 套接字网路编程基础 24
2.1 套接字网路编程接口的产生与发展 24
2.1.1 问题的提出 24
2.1.2 套接字编程接口起源于UNIX作业系统 25
2.1.3 套接字编程接口在Windows和Linux作业系统中得到继承和发展 25
2.1.4 套接字编程接口的两种实现方式 25
2.1.5 套接字通信与UNIX作业系统的输入/输出的关係 26
2.2 套接字编程的基本概念 27
2.2.1 什幺是套接字 27
2.2.2 套接字的特点 28
2.2.3 套接字的套用场合 30
2.2.4 套接字使用的数据类型和相关的问题 30
2.3 面向连线的套接字编程 32
2.3.1 可靠的传输控制协定 32
2.3.2 套接字的工作过程 33
2.3.3 面向连线的套接字编程实例 34
2.3.4 进程的阻塞问题和对策 40
2.4 无连线的套接字编程 43
2.4.1 高效的用户数据报协定 43
2.4.2 无连线的套接字编程的两种模式 43
2.4.3 数据报套接字的对等模式编程实例 45
2.5 原始套接字 47
2.5.1 原始套接字的创建 47
2.5.2 原始套接字的使用 48
2.5.3 原始套接字套用实例 49
习题 51
第3章 WinSock编程 53
3.1 WinSock概述 53
3.2 WinSock库函式 55
3.2.1 WinSock的注册与注销 55
3.2.2 WinSock的错误处理函式 58
3.2.3 主要的WinSock函式 61
3.2.4 WinSock的辅助函式 74
3.2.5 WinSock的信息查询函式 77
3.2.6 WSAAsyncGetXByY类型的扩展函式 79
3.3 网路应用程式的运行环境 82
习题 84
第4章 MFC编程 85
4.1 MFC概述 85
4.1.1 MFC是一个编程框架 85
4.1.2 典型的MDI应用程式的构成 87
4.2 MFC和Win32 89
4.2.1 MFC对象和Windows对象的关係 89
4.2.2 几个主要的类 91
4.3 CObject类 95
4.3.1 CObject类的定义 95
4.3.2 CObject类的特性 96
4.4 讯息映射的实现 98
4.5 MFC对象的创建 102
4.5.1 MFC对象的关係 102
4.5.2 MFC提供的接口 104
4.5.3 MFC对象的创建过程 104
4.6 应用程式的退出 107
习题 107
第5章 MFC WinSock类的
编程 109
5.1 CAsyncSocket类 110
5.1.1 使用CAsyncSocket类的一般步骤 110
5.1.2 创建CAsyncSocket类对象 111
5.1.3 关于CAsyncSocket类可以接受并处理的讯息事件 112
5.1.4 客户端套接字对象请求连线到伺服器端套接字对象 114
5.1.5 伺服器接收客户机的连线请求 115
5.1.6 传送与接收流式数据 116
5.1.7 关闭套接字 118
5.1.8 错误处理 118
5.1.9 其他成员函式 119
5.2 CSocket类 120
5.2.1 创建CSocket对象 120
5.2.2 建立连线 120
5.2.3 传送和接收数据 120
5.2.4 CSocket类、CArchive类和CSocketFile类 121
5.2.5 关闭套接字和清除相关的对象 122
5.3 CSocket类的编程模型 122
5.4 用CAsyncSocket类实现聊天室程式 123
5.4.1 实现目标 123
5.4.2 创建客户端应用程式 124
5.4.3 客户端程式的类与讯息驱动 134
5.4.4 客户端程式主要功能的代码和分析 135
5.4.5 创建伺服器端程式 142
5.4.6 伺服器端程式的流程和讯息驱动 144
5.4.7 点对点交谈的伺服器端程式主要功能的代码和分析 145
5.5 用CSocket类实现聊天室程式 151
5.5.1 聊天室程式的功能 151
5.5.2 创建聊天室的伺服器端程式 151
5.5.3 聊天室伺服器端程式的主要实现代码和分析 154
5.5.4 创建聊天室的客户端程式 162
5.5.5 聊天室客户端程式的主要实现代码和分析 163
习题 170
实验 170
第6章 WinInet编程 172
6.1 MFC WinInet类 172
6.1.1 概述 172
6.1.2 MFC WinInet所包含的类 173
6.1.3 使用WinInet类编程的一般步骤 174
6.1.4 创建CInternetSession类对象 175
6.1.5 查询或设定Internet请求选项 176
6.1.6 创建连线类对象 177
6.1.7 使用档案检索类 178
6.1.8 重载OnStatusCallback函式 179
6.1.9 创建并使用网路档案类对象 180
6.1.10 CInternteException类 183
6.2 用MFC WinInet类实现FTP客户端 183
6.2.1 程式要实现的功能 183
6.2.2 创建应用程式的过程 184
习题 186
实验 187
第7章 WinSock的多执行绪
编程 188
7.1 WinSock为什幺需要多执行绪编程 188
7.1.1 WinSock的两种I/O模式 188
7.1.2 两种模式的优缺点及解决方法 189
7.2 Win32作业系统下的多进程多执行绪机制 189
7.2.1 Win32 OS是单用户多任务的作业系统 189
7.2.2 Win32 OS是支持多执行绪的作业系统 190
7.2.3 多执行绪机制在网路编程中的套用 191
7.3 VC++对多执行绪网路编程的支持 192
7.3.1 MFC支持的两种执行绪 192
7.3.2 创建MFC的工作执行绪 193
7.3.3 创建并启动用户界面执行绪 195
7.3.4 终止执行绪 198
7.4 多执行绪FTP客户端实例 200
7.4.1 编写执行绪函式 200
7.4.2 添加事件处理函式 206
习题 208
第8章 WinSock的I/O模型 209
8.1 select模型 210
8.2 WSAAsyncSelect异步I/O模型 212
8.3 WSAEventSelect事件选择模型 216
8.4 重叠I/O模型 221
8.4.1 重叠I/O模型的优点 221
8.4.2 重叠I/O模型的基本原理 221
8.4.3 重叠I/O模型的关键函式和数据结构 222
8.4.4 使用事件通知实现重叠模型的步骤 225
8.4.5 使用完成例程实现重叠模型的步骤 227
8.5 完成连线埠模型 229
8.5.1 什幺是完成连线埠模型 229
8.5.2 使用完成连线埠模型的方法 230
习题 238
第9章 HTTP及高级编程 239
9.1 HTTP 239
9.1.1 HTTP的背景 239
9.1.2 HTTP的内容 240
9.1.3 HTTP讯息的一般格式 242
9.1.4 HTTP请求的格式 243
9.1.5 HTTP回响的格式 245
9.1.6 访问认证 248
9.1.7 URL编码 249
9.1.8 HTTP的套用 250
9.2 利用CHtmlView类创建Web浏览器型的应用程式 250
9.2.1 CHtmlView类与WebBrowser控制项 250
9.2.2 CHtmlView类的成员函式 251
9.2.3 创建一个Web浏览器型的应用程式的一般步骤 256
9.3 Web浏览器应用程式实例 261
9.3.1 程式实现的目标 261
9.3.2 创建实例程式 262
习题 265
实验 265
第10章 电子邮件协定与编程 267
10.1 电子邮件系统的工作原理 267
10.1.1 电子邮件的特点 267
10.1.2 电子邮件系统的构成 267
10.1.3 电子邮件系统的实现 268
10.2 简单邮件传送协定 270
10.2.1 概述 270
10.2.2 SMTP客户机与SMTP伺服器之间的会话 270
10.2.3 常用的SMTP命令 271
10.2.4 常用的SMTP回响码 273
10.2.5 SMTP的会话过程 274
10.2.6 使用WinSock来实现电子邮件客户机与伺服器的会话 274
10.3 电子邮件信件结构详述 275
10.3.1 Internet文本信件的格式标準——RFC 822 275
10.3.2 信件的头部 276
10.3.3 构造和分析符合RFC 822标準的电子信件 281
10.4 MIME编码解码与传送附属档案 281
10.4.1 MIME概述 281
10.4.2 MIME定义的新的信头栏位 282
10.4.3 MIME邮件的内容类型 283
10.4.4 MIME邮件的编码方式 292
10.5 POP3与接收电子邮件 294
10.5.1 POP3 294
10.5.2 POP3的会话过程 294
10.5.3 POP3会话的3个状态 295
10.5.4 POP3标準命令 296
10.5.5 接收电子邮件的一般步骤 298
10.6 接收电子邮件的程式实例 299
10.6.1 实例程式的目的和实现的技术要点 299
10.6.2 创建应用程式的过程 301
10.7 传送电子邮件的程式实例 302
10.7.1 实例程式的目的和实现的技术要点 302
10.7.2 创建应用程式的过程 303
习题 305
参考文献 307