当前位置:首页 > 工业技术
Windows网络程序设计完全讲义
Windows网络程序设计完全讲义

Windows网络程序设计完全讲义PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:高守传,周书绎主编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2010
  • ISBN:9787508474298
  • 页数:392 页
图书介绍:网络程序设计是当前各种程序设计中最活跃的一个分支,几乎渗透到各种应用场合。在Windows网络程序设计中,基于套接字的编程方式又是一种比较常见而且最为灵活的网络应用程序设计方法。本书从简单的网络通信协议入手,介绍了Windows中常见网络程序的设计方法,主要包括TCP/IP协议、网络服务、MFC网络编程、WinInet、ISAPI、Internet、HTTP协议、SMTP/POP3协议、代理协议、原始套接字等。
《Windows网络程序设计完全讲义》目录

第1章 网络模型 1

1.1 功能分层 1

1.2 OSI模型 2

1.2.1 OSI层次结构 2

1.2.2 OSI各层功能 3

1.2.3 OSI层间通信 5

1.2.4 OSI数据封装及解封装 6

1.3 TCP/IP协议簇 8

1.3.1 TCP/IP层次结构 8

1.3.2 TCP/IP各层功能 9

1.3.3 TCP/IP与OSI模型比较 10

1.3.4 Internet层——IP协议 11

1.3.5 传输层——TCP协议 12

1.3.6 TCP连接的建立与终止 13

1.3.7 传输层——UDP协议 17

1.3.8 Windows 2003 TCP/IP结构模型 18

1.4 LAN模型 20

1.4.1 IEEE 802概述 20

1.4.2 以太网标准 21

1.5 寻址方法 23

1.6 数据包在网络中的传递 24

1.7 本章小结 26

第2章 Windows套接字基础 27

2.1 套接字简介 27

2.1.1 Berkeley套接字 27

2.1.2 Windows套接字规范 28

2.2 Windows Sockets 28

2.2.1 Windows Sockets 1.0 28

2.2.2 Windows Sockets 1.1 28

2.3 Windows Sockets 2 29

2.3.1 Windows Sockets 2简介 29

2.3.2 同时访问多个传输协议 30

2.3.3 与WinSock 1.1的兼容性 31

2.3.4 功能扩展机制 32

2.3.5 多线程中的应用 32

2.3.6 分散/聚集I/O支持 33

2.4 WinSock编程基础 33

2.4.1 WinSock API 33

2.4.2 网络程序结构 36

2.4.3 端口的概念 37

2.4.4 字节顺序 37

2.4.5 出错的处理 39

2.4.6 WinSock库的初始化及释放 40

2.5 面向连接的通信 42

2.5.1 socket与WSASocket 42

2.5.2 绑定套接字bind 44

2.5.3 监听listen 46

2.5.4 accept与WSAAccept 47

2.5.5 send与WSASend 48

2.5.6 recv与WSARecv 50

2.5.7 connect与WSAConnect 52

2.5.8 closesocket 53

2.6 无连接通信 54

2.6.1 sendto与WSASendto 55

2.6.2 recvfrom与WSARecvfrom 56

2.7 套接字选项与I/O控制 58

2.7.1 套接字选项 58

2.7.2 套接字I/O控制 61

2.8 套接字工作模式 63

2.9 流式套接字编程实例 64

2.9.1 TCP服务端设计 64

2.9.2 TCP客户端设计 66

2.10 数据报套接字编程实例 68

2.10.1 UDP服务端设计 68

2.10.2 UDP客户端设计 70

2.11 本章小结 72

第3章 Windows Socket I/O模型 73

3.1 select模型 73

3.1.1 select函数 73

3.1.2 select模型应用 76

3.2 WSAAsyncSelect模型 82

3.2.1 WSAAsyncSelect函数 83

3.2.2 异步选择模型应用 85

3.3 WSAEventSelect模型 90

3.3.1 WSAEventSelect函数 91

3.3.2 事件选择模型辅助API 91

3.3.3 事件选择模型应用 94

3.4 重叠I/O模型 98

3.4.1 重叠套接字I/O概述 98

3.4.2 完成例程 100

3.4.3 完成例程应用 102

3.4.4 基于事件的通知 106

3.4.5 事件对象应用 107

3.5 完成端口模型 110

3.5.1 完成端口简介 111

3.5.2 完成端口模型API 111

3.5.3 完成端口应用 113

3.6 模型比较 116

3.7 本章小结 116

第4章 网络服务 117

4.1 服务程序 117

4.1.1 程序入口 117

4.1.2 服务主函数 118

4.1.3 服务控制处理器函数 119

4.1.4 更新服务状态及相关结构 119

4.2 服务配置 120

4.2.1 服务的安装 121

4.2.2 服务的卸载 122

4.3 服务控制 122

4.3.1 服务的启动 122

4.3.2 服务控制请求 123

4.4 网络服务实例 124

4.4.1 主函数main 124

4.4.2 服务主函数ServiceMain 126

4.4.3 控制处理器函数ServiceCtrlHandler 127

4.4.4 服务配置实现 127

4.4.5 服务控制实现 130

4.5 本章小结 133

第5章 MFC套接字网络编程 134

5.1 MFC基础与网络类库 134

5.1.1 MFC基础 134

5.1.2 MFC中的网络开发相关类 134

5.2 CAsyncSocket类及其开发 137

5.2.1 CAsyncSocket类 137

5.2.2 CAsyncSocket类的编程模式 138

5.2.3 CAsyncSocket类的异步机制 141

5.2.4 使用CAsyncSocket类实现信息转发器(服务端) 142

5.2.5 使用CAsyncSocket类实现信息转发器(客户端) 145

5.3 CSocket类及其开发 147

5.3.1 CSocket类 147

5.3.2 CSocket类的编程模式 148

5.3.3 CSocket类的同步(阻塞)机制 149

5.3.4 使用CSocket类的阻塞模式进行通信 151

5.4 网络聊天室开发实例 154

5.4.1 服务器端程序的开发 154

5.4.2 客户端程序的开发 157

5.5 本章小结 159

第6章 WinInet、ISAPI与Internet编程 160

6.1 WinInet基础 160

6.1.1 WinInetAPI函数 160

6.1.2 WinInetAPI函数的使用 162

6.1.3 MFC WinInet类库概述 165

6.1.4 MFC WinInet类库的使用 166

6.2 使用MFC WinInet开发网络应用 168

6.2.1 WinInet开发客户端程序的流程 168

6.2.2 WinInet开发查询Web网站程序 170

6.3 利用ISAPI扩展开发CGI程序 171

6.3.1 CGI基础 171

6.3.2 CGI应用实例 172

6.3.3 ISAPI基础 174

6.3.4 使用MFC开发ISA程序的基本方法 174

6.3.5 使用MFC开发ISA程序实例 177

6.4 本章小结 180

第7章 HTTP协议 181

7.1 资源标识 181

7.1.1 统一资源标识符 181

7.1.2 HTTP统一资源定位符 183

7.2 HTTP协议 184

7.2.1 协议版本 185

7.2.2 协议参数 186

7.2.3 HTTP消息 187

7.2.4 HTTP实体 190

7.2.5 HTTP连接 190

7.3 HTTP服务器实例 191

7.3.1 主函数 191

7.3.2 初始化及等待连接 192

7.3.3 服务线程 196

7.3.4 解析请求 200

7.4 本章小结 204

第8章 邮件传输 205

8.1 电子邮件简介 205

8.2 电子邮件的格式 206

8.2.1 RFC 822电子邮件格式 207

8.2.2 MIME电子邮件格式 211

8.3 SMTP协议 215

8.3.1 SMTP通信模型 215

8.3.2 SMTP命令 216

8.3.3 SMTP响应 219

8.3.4 使用SMTP发送邮件的步骤 220

8.4 SMTP服务扩展 221

8.4.1 EHLO命令 221

8.4.2 AUTH命令 222

8.5 电子邮件的认证 222

8.5.1 AUTH LOGIN机制 223

8.5.2 AUTH PLAIN机制 223

8.5.3 CRAM-MD5机制 224

8.6 发送邮件实例 225

8.6.1 主函数实现 225

8.6.2 获取服务端响应 228

8.6.3 认证实现 228

8.6.4 Base64编解码 229

8.6.5 邮件发送 232

8.7 POP3协议 236

8.7.1 POP3命令 236

8.7.2 POP3状态 240

8.7.3 使用POP3操作邮箱的步骤 240

8.8 接收邮件实例 240

8.8.1 主函数实现 241

8.8.2 获取服务端响应 243

8.8.3 获取邮件/邮箱属性信息 243

8.8.4 读取邮件 245

8.8.5 删除邮件 246

8.9 本章小结 247

第9章 代理服务器 248

9.1 代理服务器简介 248

9.1.1 代理服务器功能 248

9.1.2 代理服务器分类 251

9.2 HTTP代理 252

9.3 HTTP代理服务器实例 253

9.3.1 主函数main 253

9.3.2 代理线程 254

9.3.3 转发请求与响应 255

9.3.4 TCP数据交换 259

9.4 SOCKS5协议 263

9.4.1 SOCKS5 TCP代理 263

9.4.2 SOCKS5 UDP代理 265

9.4.3 SOCKS5对认证的支持 266

9.5 SOCKS5代理实例 266

9.5.1 主函数main 267

9.5.2 认证实现 268

9.5.3 代理线程 270

9.5.4 代理模式检测 273

9.5.5 获取地址、端口及UDP数据 274

9.5.6 创建UDP套接字 275

9.5.7 UDP代理线程 276

9.6 本章小结 279

第10章 原始套接字 280

10.1 原始套接字简介 280

10.1.1 原始套接字简史 280

10.1.2 原始套接字与网络安全 281

10.2 Windows与原始套接字 282

10.2.1 原始套接字支持 283

10.2.2 数据发送 284

10.2.3 数据接收 284

10.3 如何使用原始套接字 285

10.3.1 创建原始套接字 285

10.3.2 原始套接字的协议参数 286

10.3.3 头包含选项 287

10.3.4 发送原始数据包示例 287

10.4 ICMP协议 290

10.4.1 ICMP协议简介 291

10.4.2 校验和计算 293

10.4.3 Ping程序实现 294

10.4.4 Tracert实现 297

10.5 数据包捕获 297

10.5.1 数据包捕获流程 298

10.5.2 数据包捕获实现 298

10.6 本章小结 300

第11章 WinPcap应用 301

11.1 WinPcap基础 301

11.1.1 WinPcap结构 301

11.1.2 NPF的主要功能及其结构 303

11.1.3 WinPcap工作框架 305

11.2 WinPcap编程接口 306

11.2.1 UNIX兼容API 306

11.2.2 WinPcap扩展API 311

11.3 WinPcap嗅探实例 313

11.3.1 主函数 314

11.3.2 回调函数 317

11.3.3 协议头部 317

11.3.4 数据包处理 319

11.4 本章小结 320

第12章 远程控制技术 321

12.1 远程控制的概念 321

12.2 连接方式 322

12.2.1 直接指定 322

12.2.2 通过第三方获取 322

12.3 线程插入 324

12.3.1 远程插入DLL 324

12.3.2 插入DLL实例 326

12.3.3 远程插入功能代码 329

12.3.4 插入代码实例 329

12.4 启动方式 333

12.4.1 注册表键 333

12.4.2 自动运行文件 334

12.4.3 Windows服务 335

12.4.4 注册为服务 337

12.4.5 文件关联 337

12.4.6 其他方式 339

12.5 被控端配置 340

12.5.1 附加信息 340

12.5.2 预留配置 343

12.6 信息隐藏 348

12.6.1 文件隐藏 348

12.6.2 进程隐藏 349

12.7 捆绑文件 350

12.7.1 捆绑原理 350

12.7.2 Win32图标 352

12.7.3 图标选择 355

12.7.4 图标操作 356

12.7.5 更新资源 359

12.7.6 捆绑实例 361

12.8 键盘记录 367

12.8.1 Win32挂钩简介 367

12.8.2 挂钩相关的API 368

12.8.3 全局挂钩 369

12.8.4 实例介绍 370

12.9 远程控制开发 373

12.9.1 管道技术 374

12.9.2 被控端开发 376

12.9.3 主控端开发 379

12.10 本章小结 381

附录A IP协议号 382

附录B 以太网类型字段 386

附录C 常见端口 388

附录D ASCII表 390

参考文献 392

相关图书
作者其它书籍
返回顶部