本书主要介绍基于TCP/IP协议栈的套接字网络编程技术。全书分为10章,第 1章介绍网络编程基础,第 2章介绍套接字网络编程接口,第3章介绍Windows环境的网络编程,第4章介绍MFC编程,第5章介绍MFC WinSock类的编程,第6章介绍WinInet编程,第7章介绍WinSock的多线程编程,第8章介绍WinSock的输入/输出模型,第9章介绍HTTP及高级编程,第 10章介绍电子邮件协议与编程。各章后都配有习题,便于读者理解掌握所学内容。
本书配有教学资源包,包括课件和各章实例的源程序,可以从人民邮电出版社教学资源与服务网上免费下载。下载的地址为:http://www.ptpedu.com.cn。
本书可作为高等学校相关专业高年级本科生和研究生的教材,也可供其他技术人员参考。
第1章 网络编程基础 1
1.1 网络编程相关的基本概念 1
1.1.1 网络编程与进程通信 1
1.1.2 Internet中网间进程的标识 3
1.1.3 网络协议的特征 7
1.1.4 高效的用户数据报协议 10
1.1.5 可靠的传输控制协议 10
1.2 三类网络编程 12
1.2.1 基于TCP/IP协议栈的网络编程 12
1.2.2 基于WWW应用的网络编程 12
1.2.3 基于.NET框架的Web Services网络编程 13
1.3 客户机/服务器交互模式 16
1.3.1 网络应用软件的地位和功能 16
1.3.2 客户机/服务器模式 16
1.3.3 客户机与服务器的特性 17
1.3.4 容易混淆的术语 18
1.3.5 客户机与服务器的通信过程 19
1.3.6 网络协议与C/S模式的关系 19
1.3.7 错综复杂的C/S交互 19
1.3.8 服务器如何同时为多个客户机服务 21
1.3.9 标识一个特定服务 22
1.4 P2P模式 23
1.4.1 P2P技术的兴起 23
1.4.2 P2P的定义和特征 23
1.4.3 P2P的发展 24
1.4.4 P2P的关键技术 24
1.4.5 P2P系统的应用与前景 25
习题 25
第2章 套接字网络编程接口基础 27
2.1 套接字网络编程接口的产生与发展 27
2.1.1 问题的提出 27
2.1.2 套接字编程接口起源于UNIX操作系统 28
2.1.3 套接字编程接口在Windows和Linux操作系统中得到继承和发展 28
2.1.4 套接字编程接口的两种实现方式 28
2.1.5 套接字通信与UNIX操作系统的输入/输出的关系 29
2.2 套接字编程的基本概念 30
2.2.1 什么是套接字 30
2.2.2 套接字的特点 31
2.2.3 套接字的应用场合 33
2.2.4 套接字使用的数据类型和相关的问题 33
2.3 面向连接的套接字编程 35
2.3.1 套接字的工作过程 35
2.3.2 套接字编程接口的系统调用 37
2.3.3 面向连接的套接字编程实例 42
2.3.4 进程的阻塞问题和对策 47
2.4 无连接的套接字编程 50
2.4.1 无连接的套接字编程的两种模式 50
2.4.2 两个专用的系统调用 52
2.4.3 数据报套接字的对等模式编程实例 53
2.5 原始套接字 55
2.5.1 原始套接字的创建 55
2.5.2 原始套接字的使用 56
2.5.3 原始套接字应用实例 57
2.6 Linux系统的网络编程接口 59
2.6.1 数据结构 60
2.6.2 主要系统调用 60
习题 64
第3章 Windows环境的网络编程 65
3.1 Windows Sockets规范 65
3.1.1 概述 65
3.1.2 Windows Sockets规范 66
3.1.3 WinSock规范与Berkeley套接口的区别 71
3.2 WinSock 1.1的库函数 74
3.2.1 WinSock的注册与注销 74
3.2.2 WinSock的错误处理函数 77
3.2.3 主要的WinSock函数 79
3.2.4 WinSock的辅助函数 93
3.2.5 WinSock的信息查询函数 95
3.2.6 WSAAsyncGetXByY类型的扩展函数 97
3.3 网络应用程序的运行环境 101
习题 103
第4章 MFC编程 104
4.1 MFC概述 104
4.1.1 MFC是一个编程框架 104
4.1.2 典型的MDI应用程序的构成 106
4.2
1