第 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 用CAsyn
1