第1章 计算机网络基础
1.1 计算机网络的分类
1.2 计算机网络体系结构
1.3 OSI参考模型
1.4 TCP/IP参考模型
1.5 网络实例
1.5.1 Novell NetWare
1.5.2 ARPANET
1.5.3 NSFNET
1.5.4 因特网
1.5.5 吉比特实验台
1.6 数据通信服务实例
1.6.1 SMDS
1.6.2 X.25
1.6.3 帧中继
1.6.3 宽带ISDN和ATM
1.7 小节
第2章 Windows套接字
2.1 什么是套接字
2.1.1 数据报套接字
2.1.2 流式套接字
2.2 什么时候使用套接字
2.3 套接字规范
2.3.1 Bekerly套接字规范
2.3.2 Windows套接字规范
2.3.3 Windows套接字和Berkeley套接字的比较
2.3.4 Windows套接字规范的地位
2.4 Windows套按字规范的沿革
2.4.1 Windows Sockets 1.0
2.4.2 Windows Sockets 1.1
2.4.3 Windows Sockets 2.0
2.5 小结
第3章 套接字的使用和Winsock API
3.1 使用Winsock API
3.1.1 初始化WinSock
3.1.2 创建套接字
3.2 使用数据报套接字
3.2.1 地址绑定
3.2.2 字节顺序转换
3.2.3 从数据报套接字接收数据
3.2.4 向数据报套接字发送数据
3.3 使用流式套接字
3.3.1 流式套接字的服务器
3.3.2 服务器侦听连接
3.3.3 服务器接受连接
3.3.4 客户机请求连接
3.3.5 发送和接收数据
3.4 异步数据接收
3.4.1 使用BSD类型的函数
3.4.2 使用WinSock的专用函数
3.4.3 关闭套接字
3.5 Windows sockets 2.0的新特性
3.5.1 WinSock 2的新函数
3.5.2 使用多种协议和多协议名分辨
3.5.3 重叠I/O和分散/聚集I/O
3.5.4 服务质量和套接字组
3.5.5 多点套接字和共亨的套接字
3.5.6 扩展的连接操作
3.5.7 具体协议扩展
3.6 小结
第4章 WinInet API
4.1 使用WinInet API
4.1.1 HINTERNET句柄
4.1.2 获取错误信息
4.1.3 设置缓冲区参数
4.1.4 异步I/O
4.2 普通Internet函数
4.2.1 创建WinInet对话
4.2.2 设置HINTERNET句柄选项
4.2.3 查询HINTERNET句柄选项
4.2.4 和Internet建立连接
4.2.5 连接Internet服务器
4.2.6 回调函数
4.2.7 与URL相关的操作
4.2.8 打开URL上的文件
4.2.9 查询数据可用性
4.2.10 读取数据
4.2.11 移动文件指针
4.2.12 向Internet文件写数据
4.3 FTP客户机函数
4.3.1 获取FTP服务器的当前目录
4.3.2 创建和更换目录
4.3.3 查找文件
4.3.4 下载文件
4.3.5 上传文件
4.3.6 在FTP服务器上打开一个文件
4.3.7 其他FTP文件操作
4.4 HTTP客户函数
4.4.1 HTTP请求
4.4.2 对HttpSendRequest()调用错误的处理
4.4.3 获取服务器的响应信息
4.4.4 使用Cookie Jar
4.4.5 高速缓存的使用
4.5 Gopher客户机函数
4.6 小结
第5章 MFC WinSock类及应用
5.1 CAsyncSocket类
5.1.1 创建CAsyncSocket对象
5.1.2 CAsyncSocket对象的错误处理
5.1.3 套接字选项和CAsyncSocket
5.1.4 发送和接收数据报
5.1.5 套接字与服务器连接
5.1.6 服务器接受客户机的连接
5.1.7 发送并接收流式数据
5.1.8 关闭套接字
5.2 CSocket类
5.2.1 创建CSocket对象
5.2.2 建立连接
5.2.3 发送并接收数据
5.2.4 与CSocket一起使用CSocketFile类和CArchive类
5.2.5 关闭套接字和清除相关对象
5.3 Socket类的编程模型
5.4 应用程序使用说明
5.4.1 计算机网络硬件
5.4.2 对Windows进行网络配置
5.4.3 只有一台计算机的Intranetr--TCP/IP环形地址
5.5 实例分析——CAsyncSocket类的应用
5.5.1 实现目标
5.5.2 技术要点
5.5.3 创建过程
5.5.4 技术小结
5.6 实例分析——聊天室的服务端
5.6.1 实现目标
5.6.2 技术要点
5.6.3 创建过程
5.6.4 技术小结
5.7 实例分析——聊天室的客户端
5.7.1 实现目标
5.7.2 技术要点
5.7.3 创建过程
5.7.4 技术小结
5.8 小结
第6章 MFC WinInet类及应用
6.1 WinInet相对Winsock的优势
6.2 MFC WinInet类
6.2.1 CInternetSession类
6.2.2 连接类
6.2.3 文件类
6.2.4 CInternetException类
6.3 MFC WinInet类的关系
6.4 使用CInternetSession
6.5 FTP服务器处理
6.6 HTTP服务器处理
6.7 Gopher服务器处理
6.8 实例分析——实现Internet查询
6.8.1 实现目标
6.8.2 技术要点
6.8.3 创建过程
6.8.4 技术小结
6.9 实例分析——FTP应用程序
6.9.1 实现目标
6.9.2 技术要点
6.9.3 创建过程
6.9.4 技术小结
6.10 小结
第7章 为程序添加Web浏览功能
7.1 Internet Explorer ActiveX模型
7.2 MFC CHtmlView类
7.2.1 Web定位
7.2.2 控制浏览器
7.2.3 获取浏览器状态
7.3 实例分析——Web浏览器
7.3.1 实现目标
7.3.2 技术要点
7.3.3 创建过程
7.3.4 技术小结
7.4 小结
第8章 WinSock高级编程
8.1 Web基础知识
8.1.1 客户端
8.1.2 服务器
8.1.3 HTTP协议
8.2 HTTP服务器设计
8.2.1 同步操作
8.2.2 对错误的异常处理
8.2.3 发送和接收数据的超时处理
8.3 创建自己的WinSock类
8.3.1 CSockAddress辅助类
8.3.2 CMyBlockSocketException类
8.3.3 CMyBlockSocket类
8.3.4 CMyHttpBlockSocket类
8.4 实例分析——HTTP服务器
8.4.1 实现目标
8.4.2 技术要点
8.4.3 创建过程
8.4.4 技术小结
8.5 小结
第9章 信报API
9.1 MAPI结构
9.1.1 客户应用程序
9.1.2 服务提供程序
9.1.3 MAPI假脱机程序
9.1.4 MAPI分类
9.1.5 MAPI接口的可用性
9.2 在MFC中支持MAPI
9.3 通用信报调用
9.3.1 开始对话
9.3.2 用CMC发送信报
9.3.3 用CMC分辨信报的地址
9.3.4 用CMC接收信报
9.3.5 CMC数据扩展
9.4 简单MAPI
9.5 扩展MAPI
9.6 OLE信报库
9.7 小结
第10章 Internet Server API
10.1 开发服务器扩展应用程序
10.1.1 ISA入口
10.1.2 扩展控制块(ECB)
10.1.3 文件发送
10.1.4 异步操作
10.1.5 写服务器日志
10.1.6 ISA异常处理
10.1.7 调试ISA
10.1.8 从CGI到ISAPI的转换
10.2 ISAPI过滤程序
10.2.1 安装过滤器程序
10.2.2 ISAPI过滤程序结构
10.2.3 HTTP_FILTER_CONTEXT结构
10.2.4 过滤程序通知处理
10.3 MFC对ISAPI的支持
10.3.1 用AppWizard创建ISAPI DLL
10.3.2 分析程序映射
10.3.3 处理函数
10.3.4 MFC ISAPI类
10.4 实例分析——ISAPI服务器扩展
10.4.1 实现目标
10.4.2 技术要点
10.4.3 创建过程
10.4.4 技术小结
10.5 小结
第11章 多线程技术与网络编程
11.1 多线程的应用程序
11.1.1 MFC对象和线程
11.1.2 线程的类型
11.2 工作线程
11.2.1 创建工作线程
11.2.2 编写线程函数
11.2.3 访问线程的返回码
11.3 用户界面线程
11.3.1 创建线程
11.3.2 创建线程类
11.3.3 在线程中处理消息
11.3.4 终止线程
11.4 线程同步
11.4.1 潜在错误
11.4.2 发送事件
11.5 实例分析——多线程的FTP应用程序
11.5.1 实现目标
11.5.2 技术要点
11.5.3 创建过程
11.5.4 技术小结
11.6 小结