目录
第1章计算机网络基础知识
1.1计算机网络的基本概念
1.1.1计算机网络与网络协议
1.1.2计算机网络分类
1.1.3典型的计算机网络——以太网
1.1.4广域网与分组交换技术
1.1.5网络互联
1.1.6计算机网络体系结构
1.2IP协议
1.2.1IP地址
1.2.2IPv4的分组结构
1.2.3路由与路由器
1.2.4主机的路由表及IP分组的发送过程
1.3TCP与UDP
1.3.1端口号与网络进程地址
1.3.2TCP
1.3.3UDP
1.4网络应用编程接口——套接字
1.4.1套接字编程接口的起源与发展
1.4.2套接字的含义与分类
1.4.3套接字接口的位置及实现方式
1.5网络应用程序的结构模型
1.6网络编程的不同层次
习题
第2章简单的 Windows 程序设计
2.1使用Visual C++ 创建应用程序
2.1.1创建控制台应用程序
2.1.2创建图形界面应用程序
2.2Visual C++的数据类型
2.2.1基本数据类型
2.2.2字符串类型
2.2.3句柄类型
2.3Unicode字符集
2.4对话框应用程序
2.4.1创建对话框应用程序
2.4.2Visual C++2017开发环境
2.4.3MFC对话框应用程序结构
2.4.4设置对话框的属性
2.5Windows控件
2.5.1创建控件
2.5.2常用控件
2.6Windows的消息驱动机制与消息映射
2.6.1Windows的消息驱动机制
2.6.2消息映射
2.7使用控件变量访问控制控件
2.8添加用户自定义消息
2.9MFC的文件操作
2.9.1CFile类
2.9.2CFileDialog类
习题
实验1对话框应用程序的创建及控件使用
第3章WinSock编程初步
3.1WinSock API函数
3.2WinSock开发组件和运行组件
3.3网络字节顺序
3.4WinSock的网络地址表示
3.4.1地址结构
3.4.2地址转换函数
3.5WinSock的错误处理
3.6网络配置信息查询
3.6.1主机名字与IP地址查询
3.6.2服务查询
3.6.3协议查询
3.6.4异步信息查询函数及其编程方法
习题
实验2查询主机网络配置信息
第4章TCP程序设计
4.1简单的TCP程序设计
4.1.1TCP客户端和服务器端的交互过程
4.1.2一个简单的TCP通信程序
4.2获取与套接字关联的地址
4.3数据发送和接收
4.3.1发送缓冲区与接收缓冲区
4.3.2对send()函数和recv()函数的进一步说明
4.3.3数据的传输格式
4.4文件传输程序设计
4.4.1简单的文件传输
4.4.2文件的断点续传与多点下载
习题
实验3使用流式套接字传输数据
第5章Visual C++中的多线程编程
5.1进程和线程的概念
5.2Visual C++中的多线程编程
5.2.1使用Win32 SDK函数实现多线程
5.2.2C++运行库中的多线程函数
5.3用多线程实现TCP并发服务器
5.4线程的同步与互斥
5.4.1线程的同步
5.4.2线程间的互斥
5.5主监控线程和线程池
习题
实验4TCP服务器端的多线程编程
第6章WinSock的I/O模型
6.1套接字的非阻塞工作模式
6.1.1阻塞与非阻塞模式的概念
6.1.2套接字非阻塞模式的设置方法
6.1.3套接字非阻塞模式下的编程方法
6.2Select模型
6.2.1Select模型的工作机制
6.2.2使用Select模型编程的方法
6.3WSAAsyncSelect模型
6.3.1WSAAsyncSelect()函数
6.3.2WSAAsyncSelect模型的编程方法
6.4WSAEventSelect模型
6.4.1WinSock中的网络事件与事件对象函数
6.4.2WSAEventSelect模型的函数
6.4.3WSAEventSelect模型的编程方法
6.5重叠I/O模型与完成端口模型简介
6.5.1重叠I/O模型
6.5.2完成端口模型
习题
实验5WinSock的I/O模型
第7章UDP程序设计
7.1数据报套接字编程的基本方法
7.1.1客户/服务器模式
7.1.2常用的数据收发函数——sendto()与recvfrom()
7.1.3对等模式
7.1.4使用WSAAsyncSelect模型
7.2广播程序设计
7.2.1套接字选项与setsockopt()函数
7.2.2广播数据的发送与接收
7.2.3广播程序流程
习题
实验6数据报套接字编程
第8章原始套接字编程
8.1原始套接字及其功能
8.2原始套接字的通信流程
8.2.1创建原始套接字
8.2.2使用原始套接字发送和接收数据
8.3收发ICMP数据包
8.4发送自定义的IP分组
8.5捕获IP数据包
习题
实验7原始套接字编程
第9章使用MFC的WinSock类编程
9.1CAsyncSocket类
9.1.1CAsyncSocket对象
9.1.2CAsyncSocket类的使用
9.2CSocket类
9.2.1CSocket类概述
9.2.2CArchive类与对象串行化
9.2.3CSocketFile类
9.2.4使用CSocket及串行化方法编写网络程序
习题
附录A常见的WinSock错误代码
参考文献