第1章Visual C++网络开发基本应用 1
1.1获取网卡的类型和MAC地址 2
1.1.1 Visual C++网络编程概述 2
1.1.2 MAC地址的原理 7
1.1.3 NetBIOS编程基础 8
1.1.4小试牛刀——编程实现获取MAC地址 13
1.2获取网络中计算机的IP地址和计算机名 22
1.2.1流式套接字编程 22
1.2.2开发准备 26
1.2.3小试牛刀——编程实现获取计算机的IP地址和计算机名 28
1.3实现超链接 31
1.3.1数据报套接字编程 31
1.3.2开发准备 32
1.3.3小试牛刀——编程实现写邮件超级链接 34
1.4小试牛刀——开发一个Sniff嗅探器 43
1.4.1设计界面 43
1.4.2具体编码 43
第2章 传输协议编程 53
2.1 TCP面向连接传输 54
2.1.1 TCP协议基础 54
2.1.2小试牛刀——模拟实现ndows的TCP程序 59
2.2 UDP无连接传输 71
2.2.1 UDP协议基础 71
2.2.2小试牛刀——模拟实现Windows的UDP程序 74
2.3小试牛刀——基于UDP的网段扫描器 93
2.3.1设计界面 93
2.3.2具体编码 93
第3章 远程传输处理 99
3.1 FTP能带给我们什么 100
3.1.1 FTP概述 100
3.1.2工作原理 102
3.1.3使用模式 103
3.1.4 FTP命令与FTP响应信息 104
3.2 Telnet命令简述 108
3.2.1 Telnet协议基础 108
3.2.2使用Telnet协议 109
3.3小试牛刀——FTP文件处理 111
3.3.1 FTP编程 111
3.3.2使用CSocketFile类 113
3.3.3使用CArchive类进行序列化 114
3.3.4获取FTP服务器文件信息 116
3.3.5上传文件 119
3.3.6下载文件 120
3.3.7具体实现 120
3.4小试牛刀——开发一个BBS客户端 131
3.4.1规划类 131
3.4.2具体实现 132
第4章 网页浏览器 153
4.1不得不说的HTTP协议 154
4.1.1再看C/S编程模型 154
4.1.2 HTTP基础 155
4.1.3 HTTP请求 156
4.1.4 HTTP响应 158
4.1.5消息头域 158
4.2 CHtmlView类 160
4.2.1 CHtmlView类的作用 161
4.2.2 CHtmlView类的成员 161
4.3小试牛刀——打造一个网页浏览器 163
4.3.1设计界面 163
4.3.2编码 166
4.4小试牛刀——使用浏览器控件打造一个网页浏览器 170
4.4.1建立MFC工程 170
4.4.2添加控件 171
4.4.3创建C WebBrowser2对象 174
第5章 邮件传输系统 179
5.1邮件是一种全新的通信方式 180
5.1.1电子邮件原理 180
5.1.2邮件协议 181
5.2邮件系统编程 181
5.2.1调用Windows自带的邮件发送程序 181
5.2.2 SMTP协议 188
5.2.3 POP3协议 192
5.3小试牛刀——基于POP3的邮件系统 194
5.3.1设计界面 194
5.3.2具体编码 194
5.4小试牛刀——基于SMTP的邮件系统 207
5.4.1设计界面 207
5.4.2具体编码 208
第6章 串口通信 213
6.1串口通信基础 214
6.1.1串口通信原理 214
6.1.2物理接口标准 215
6.1.3串口通信协议 217
6.2串口通信编程 221
6.2.1 16位串口应用程序 221
6.2.2以MSComm控件实现串口1通信编程 221
6.2.3 Windows API实现串口通信编程 227
6.2.4 CSerialPort类 233
6.3小试牛刀——基于MSComm的多串通信系统 237
6.3.1创建工程 237
6.3.2具体编码 238
6.4小试牛刀——基于CSerialPort的多串口通信系统 243
6.4.1创建工程 244
6.4.2具体编码 244
第7章 网络传输 249
7.1认识网络层模型 250
7.1.1网络层基础 250
7.1.2 ATM中的网络层 253
7.2两种协议 258
7.2.1PPP协议 258
7.2.2 ICMP协议 259
7.3小试牛刀——基于ICMP实现Ping系统 261
7.3.1 Ping命令基础 262
7.3.2模拟实现Windows的Ping命令 263
7.4小试牛刀——基于ICMP实现路由跟踪系统 278
7.4.1设计界面 278
7.4.2具体编码 278
第8章 在线视频播放器 289
8.1 DirectShow基础 290
8.1.1 DirectShow的构成 290
8.1.2常用的DirectShow接口 293
8.1.3获取并安装DirectShowSDK 294
8.1.4配置DirectShow SDK 296
8.2 Filter Graph及其组成 304
8.2.1 DirectShow中的Filter 304
8.2.2 Media Type(媒体类型) 305
8.2.3媒体样本Samples和分配器Allocators 308
8.3 VFW视频处理 308
8.3.1 VFW开发流程 308
8.3.2 VFW视频捕获流程 309
8.3.3视频编辑和播放 310
8.3.4 VFW的视频预览 311
8.4小试牛刀——开发一个视频播放器 313
8.4.1系统分析和设计 313
8.4.2实现媒体控制类 320
8.4.3创建播放器主题 329
8.4.4添加背景图片 338
第9章 安全卫士防火墙系统 341
9.1防火墙基础 342
9.1.1什么是防火墙 342
9.1.2防火墙的类型 342
9.1.3防火墙的结构 343
9.1.4实现防火墙的几种方式 345
9.1.5防火墙编程 346
9.1.6小试牛刀——IP过滤驱动演练 349
9.2小试牛刀——一个简单的防火墙程序 360
9.2.1原理 360
9.2.2具体实现 360
9.3小试牛刀——网络防火墙系统 364
9.3.1设计界面 364
9.3.2具体实现 365
第10章 电驴下载系统 389
10.1 P2P技术 390
10.1.1什么是P2P 390
10.1.2 P2P网络模型 390
10.2 eMule基础 394
10.2.1国内版电驴 395
10.2.2 eMule的特点 395
10.3 eMule协议 396
10.3.1 eMule协议基础 396
10.3.2客户服务器 TCP信息 398
10.3.3客户/服务器UDP信息 402
10.3.4客户端到客户端的TCP信息 403
10.4 Kad协议 409
10.4.1 Kad原理 410
10.4.2 Kad 和 ed2k之间的关系 410
10.5分析电驴源码 411
10.5.1类 412
10.5.2主要实现函数 416
第11章仿QQ聊天系统 435
11.1 QQ火爆的背后 436
11.2多线程处理 436
11.2.1多线程基础 437
11.2.2 Win32 API多线程编程 438
11.2.3用MFC实现多线程编程 440
11.3对缓冲区的理解 442
11.3.1缓冲区基础 442
11.3.2验证缓冲区 444
11.4文件传输 446
11.4.1使用CFile类 446
11.4.2使用API函数 448
11.4.3使用Socket传输文件 450
11.5具体实现 452
11.5.1系统规划 453
11.5.2服务器端编码 457
11.5.3客户端编码 465
11.5.4系统调试 480
第12章 网络视频监控系统 483
12.1系统分析 484
12.1.1系统背景 484
12.1.2远程视频监控技术的新发展 484
12.2系统架构模式 485
12.2.1 C/S结构模式 485
12.2.2 TCP C/S模式的通信原理 485
12.2.3 C/S结构的优点 486
12.3具体实现 486
12.3.1视频采集 486
12.3.2视频播放 493
12.3.3数据传递 498
12.3.4数据接收 506
第13章 网络电话系统 517
13.1网络电话系统基础 518
13.1.1什么是网络电话 518
13.1.2网络电话原理 518
13.1.3实现方式 518
13.2设计界面 519
13.2.1准备素材 519
13.2.2创建工程 519
13.3具体编码 521
13.3.1定义公共变量 521
13.3.2创建窗口l函数 522
13.3.3设置音频设备 524
13.3.4网络通信 527
13.3.5套接字响应函数 534
第14章BT系统 537
14.1 BT协议 538
14.1.1使用步骤 538
14.1.2分析BT协议 538
14.2 BT源代码分析 541
14.3分析BitTorrent源码 542
14.3.1 LibTorrent库 542
14.3.2客户端代码分析 544
第15章Foxmail转发系统 563
15.1Foxmail基础 564
15.2编写类 564
15.3设计界面 569
15.3.1新建工程 569
15.3.2设计窗体 571
15.4具体编码 572
参考文献 586