《Windows网络编程基础教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:杨传栋,张焕远编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302403623
  • 页数:316 页
图书介绍:本书是一本讲解基于Windows Socket开发网络应用程序的教材,以Visual Studi02010为平台,通过大量实例,全面系统地介绍基于WinSock进行网络编程的基本原理、基本方法和必需的知识。  

第1章 计算机网络基础知识 1

1.1 计算机网络的概念与原理 1

1.1.1 计算机网络的基本概念 1

1.1.2 典型的计算机网络——以太网 4

1.1.3 广域网与分组交换技术 7

1.1.4 网络互联 9

1.1.5 计算机网络体系结构 11

1.2 IP协议 15

1.2.1 IP地址 15

1.2.2 IPv4的分组结构 16

1.2.3 路由与路由器 17

1.2.4 主机的路由表及IP分组的发送过程 18

1.2.5 ARP协议 20

1.3 TCP与UDP 21

1.3.1 端口号与网络进程地址 21

1.3.2 TCP协议 23

1.3.3 UDP协议 25

1.4 网络应用编程接口——套接字 26

1.4.1 套接字编程接口的起源与发展 26

1.4.2 套接字的含义与分类 27

1.4.3 套接字接口的位置及实现方式 27

1.5 网络应用程序的结构模型 28

1.6 网络编程的不同层次 31

习题 31

第2章 简单的Windows程序设计 35

2.1 Visual C++2010概述 35

2.2 Visual C++的数据类型 38

2.3 Unicode字符集 40

2.4 对话框应用程序 43

2.4.1 对话框应用程序的创建 43

2.4.2 Visual C++2010开发环境 47

2.4.3 MFC对话框应用程序结构 48

2.4.4 设置对话框的属性 49

2.5 Windows控件 50

2.5.1 创建控件 50

2.5.2 常用控件 51

2.6 Windows的消息驱动机制与消息映射 57

2.6.1 Windows的消息驱动机制 57

2.6.2 消息映射 58

2.7 使用控件变量访问控制控件 60

2.8 添加用户自定义消息 63

2.9 MFC的文件操作 65

2.9.1 CFile类 65

2.9.2 CFileDialog类 70

习题 73

实验1 创建对话框应用程序及控件使用 74

第3章 WinSock编程初步 76

3.1 WinSock API函数 76

3.2 WinSock开发组件和运行组件 77

3.3 WinSock的网络地址表示 80

3.3.1 地址结构 80

3.3.2 地址转换函数 82

3.4 WinSock的错误处理 83

3.5 网络字节顺序 84

3.6 网络配置信息查询 88

3.6.1 主机名字与IP地址查询 88

3.6.2 服务查询 91

3.6.3 协议查询 92

3.6.4 异步信息查询函数及其编程方法 94

习题 102

实验2 查询主机网络配置信息 103

第4章 TCP程序设计 105

4.1 简单的TCP程序设计 105

4.1.1 TCP客户端和服务器端的交互过程 105

4.1.2 一个简单的TCP通信程序 114

4.2 获取与套接字关联地址 119

4.3 数据发送和接收的过程 120

4.3.1 发送缓冲区与接收缓冲区 120

4.3.2 send函数的工作过程 121

4.3.3 recv()函数的工作过程 123

4.4 数据传输格式 124

4.5 实例:文件传输程序设计 126

4.5.1 简单的文件传输 126

4.5.2 文件的断点续传 135

4.5.3 文件的分片传输与多点下载 142

习题 143

实验3使用流式套接字传输数据 143

第5章 Visual C++中的多线程编程 146

5.1 进程和线程 146

5.1.1 进程和线程 146

5.1.2 线程的概念 147

5.1.3 进程与线程的差别 148

5.2 VC++中的多线程编程 148

5.2.1 使用Win32 SDK函数实现多线程 149

5.2.2 C++运行库中的多线程函数 154

5.2.3 使用MFC类库 156

5.3 TCP服务器端程序的多线程编程 159

5.4 线程间的通信 164

5.5 线程的互斥与同步 168

5.5.1 互斥 168

5.5.2 线程的同步 172

5.6 主监控线程和线程池 174

习题 174

实验4 TCP服务器端的多线程编程 176

第6章 WinSock的I/O模型 178

6.1 套接字的非阻塞工作模式 178

6.1.1 阻塞与非阻塞模式的概念 178

6.1.2 套接字非阻塞模式的设置方法 179

6.1.3 套接字非阻塞模式下的编程方法 180

6.2 Select模型 186

6.2.1 Select模型的工作机制 186

6.2.2 使用Select模型编程的方法 188

6.3 WSAAsyncSelect模型 192

6.3.1 WSAAsyncSelect()函数 192

6.3.2 WSAAsyncSelect模型的编程方法 196

6.4 WSAEventSelect模型 201

6.4.1 WinSock中的事件对象函数 201

6.4.2 WSAEventSelect模型的函数 203

6.4.3 WSAEventSelect模型的编程方法 205

6.5 重叠I/O模型 211

6.5.1 重叠I/O的概念 211

6.5.2 重叠I/O模型的程序流程 215

6.6 完成端口模型 217

6.6.1 实现完成端口模型的流程 218

6.6.2 工作线程的主要任务 220

6.6.3 关闭阻塞的工作线程 221

习题 222

实验5 WinSock的I/O模型 222

第7章 UDP程序设计 224

7.1 数据报套接字编程的基本方法 224

7.1.1 客户/服务器模式 224

7.1.2 常用的数据收发函数——sendto()与recvfrom() 226

7.1.3 对等模式 231

7.1.4 使用WSAAsyncSelect模型 235

7.1.5 WSASendTo()函数与WSARecvFrom()函数 238

7.2 广播程序设计 240

7.2.1 套接字选项与setsockopt()函数 240

7.2.2 广播数据的发送与接收 243

7.2.3 广播程序流程 244

习题 248

实验6 数据报套接字编程 249

第8章 原始套接字编程 251

8.1 原始套接字及其功能 251

8.2 原始套接字的通信流程 252

8.2.1 创建原始套接字 253

8.2.2 使用原始套接字发送和接收数据 254

8.3 收发ICMP数据包 255

8.4 发送自定义的IP分组 271

8.5 捕获IP数据包 275

习题 283

第9章 使用MFC的WinSock类编程 284

9.1 CAsyncSocket类 284

9.1.1 CAsyncSocket对象 284

9.1.2 CAsyncSocket类的使用 290

9.2 CSocket类 295

9.2.1 CSocket类概述 295

9.2.2 CArchive类与对象串行化 297

9.2.3 CSocketFile类 301

9.2.4 使用CSocket及串行化方法编写网络程序 303

习题 310

附录 常见的WinSock错误代码 312

参考文献 316