第1章 Delphi网络编程基础知识 1
1.1 TCP/IP 1
1.1.1 TCP/IP结构 1
1.1.2 应用层协议 2
1.1.3 传输层协议 3
1.1.4 网络层协议 4
1.1.5 RFC和标准简单服务 5
1.2 TCP/IP基本概念 6
1.2.1 IP地址 6
1.2.2 地址解析 7
1.2.4 数据包的封装和分用 9
1.2.3 域名系统 9
1.2.5 端口号 10
1.3 网络编程接口(Winsock API) 11
1.4 Winsock常用函数介绍 12
1.4.1 基本Socket函数 12
1.4.2 数据库函数 13
1.4.3 Winsock规范提供的扩展函数 13
1.5 Delphi Socket网络组件介绍 15
1.5.1 ClientSocket组件 16
1.5.2 ServerSocket组件 18
第2章 基本网络编程实例 20
2.1 获取IP地址 20
2.1.1 利用系统工具获得IP地址 20
2.1.2 使用GetHostByName函数来获取IP 21
2.1.3 使用WSAAsyncGetHostByName函数获取IP地址 23
2.1.4 多IP情况的处理 26
2.1.5 关于IP地址和实际的地址的区别 28
2.2 获取子网掩码 30
2.2.1 Windows NT系统中获取子网掩码 30
2.2.2 Window 9x系统中获取子网掩码 32
2.3 获取计算机名 34
2.3.1 获取和设置本机主机名 34
2.3.2 获取远程主机名称 36
2.4 网络连接情况检测 38
2.4.1 使用WinInet高级函数库函数检测网络状态 38
2.4.2 通过读取系统状态参数检测网络状态 40
2.5.1 Windows NT系统中获取DNS信息 41
2.5 获取DNS信息 41
2.5.2 Windows 9x系统中获取DNS信息 42
2.6 网卡信息的获取 44
2.6.1 使用GUID获取网卡地址 44
2.6.2 NetBIOS来获得MAC地址 45
2.6.3 使用RPC方式获得MAC地址 48
第3章 FTP高级编程 50
3.1 FTP简介 50
3.2 安装设置FTP服务器 51
3.3 使用Windows内置FTP程序 55
3.4 深入FTP协议 57
3.4.1 FTP命令大全 57
3.4.2 FTP工作模式 76
3.5 开发FTP程序的方法 77
3.6 API开发高级FTP客户端程序 78
3.6.1 建立工程项目 78
3.6.2 关键代码分析 78
3.7 开发FTP服务器 91
3.7.1 建立工程项目 91
3.7.2 关键代码分析 92
第4章 HTTP高级开发 116
4.1 HTTP协议基本知识 116
4.1.1 HTTP背景 116
4.1.2 HTTP的内容 119
4.1.3 消息(Message) 119
4.1.4 请求(Request) 120
4.1.5 响应(Response) 124
4.1.6 访问认证 127
4.1.7 URL编码 129
4.1.8 HTTP协议的应用 130
4.2 开发文件下载程序 130
4.2.1 建立工程项目 130
4.2.2 关键代码分析 131
4.2.3 技术要点分析 137
4.3 HTTP API高级开发 140
4.3.1 控件介绍 141
4.3.2 关键代码分析 142
4.3.3 关键技术分析 150
4.4.1 Web Server的基本理论 152
4.4 Web Server高级开发 152
4.4.2 建立工程项目 153
4.4.3 关键代码分析 154
4.4.4 Web服务器的扩充 165
4.5 Web代理服务器的实现 169
4.5.1 代理服务器介绍 169
4.5.2 IE中使用代理服务器设置 170
4.5.3 建立工程项目 170
4.5.4 关键代码分析 171
第5章 Telnet高级编程 184
5.1 Telnet简介 184
5.2 使用Windows的Telnet程序登录远程服务器 185
5.3.2 Telnet命令 186
5.3 深入Telnet协议 186
5.3.1 NVT ASCII字符集 186
5.3.3 协商选项 188
5.3.4 子协商选项 189
5.3.5 Telnet操作方式 189
5.4 BBS客户端高级开发 190
5.4.1 建立工程项目 191
5.4.2 关键代码分析 191
5.5 Telnet代理服务程序实现 205
5.5.1 建立工程项目与关键代码分析 205
6.1.2 SMTP的会话过程 215
6.1.1 SMTP的模型描述 215
6.1 SMTP及发送电子邮件 215
第6章 E-mail协议及高级编程 215
6.2 POP3与接收电子邮件 223
6.2.1 POP3的模型描述 223
6.2.2 POP3的会话过程 223
6.3 信件结构详述 230
6.3.1 RFC822信件的格式和内容 230
6.3.2 构造符合RFC822的信件 237
6.3.3 RFC822信件的语法分析 238
6.4 MIME编码解码与发送附件 238
6.4.1 RFC822的局限 238
6.4.2 UUENCODE编码与解码 239
6.4.3 MIME及其编码 243
6.4.4 构造MIME信件 263
6.4.5 MIME信件的语法分析 265
6.5 E-mail乱码 266
6.5.1 乱码的常见形式及形成原因 266
6.5.2 避免乱码的方法 267
6.6 E-mail程序开发 267
6.6.1 建立工程项目 267
6.6.2 关键代码分析 270
第7章 网络监控、流量统计与资源搜索 280
7.1 网络流量统计 281
7.1.1 建立工程项目 281
7.1.2 关键代码分析 281
7.2.1 建立工程项目 287
7.2 网络连接监控 287
7.2.2 关键代码分析 288
7.3 网络配置和统计的使用实例 292
7.3.1 建立工程项目 292
7.3.2 关键代码分析 292
7.4 局域网资源搜索 305
7.4.1 建立工程项目 305
7.4.2 关键代码分析 306
7.4.3 关键技术分析 309
第8章 Modem串口通信编程 313
8.1 Modem的基础知识 313
8.1.1 Modem状态 313
8.1.2 AT命令 315
8.1.3 S寄存器 329
8.1.4 Modem返回信息码 332
8.2 SPComm通信控件 333
8.2.1 SPComm控件的属性 333
8.2.2 SPComm控件的方法 333
8.2.3 SPComm控件的事件 334
8.3 Windows串口通信编程 334
8.3.1 Windows通信API和串口通信 334
8.3.2 打开和关闭串口 334
8.3.3 串口配置和串口属性 336
8.3.4 读写串口 346
8.3.5 通信事件 353
8.3.6 设备控制命令 355
8.4 ASCII控制字符 356
8.5 Modem文件传输应用实例 358
8.5.1 建立工程项目 358
8.5.2 关键代码分析 359
第9章 拨号网络编程 389
9.1 RAS客户机 389
9.2 建立拨号连接 390
9.3 使用RAS(远程访问服务) 394
9.3.1 用系统电话簿进行拨号 400
9.3.2 电话簿条目的管理 401
9.3.3 在程序中创建拨号连接 403
9.3.4 状态通知 408
9.4 RAS高级开发拨号程序 411
9.4.1 创建工程项目 411
9.4.2 关键代码分析 412
第10章 传真高级编程 420
10.1 传真编程的基础知识 420
10.1.1 T.30传真通信协议 420
10.1.2 HDLC信息包 421
10.1.3 传真字段 421
10.1.4 成串信息包 423
10.1.5 同步线路控制 423
10.1.6 传真的五个阶段介绍 424
10.2.2 一类传真Modem 427
10.2 传真Modem的分类 427
10.2.1 传真分类 427
10.2.3 二类传真Modem 431
10.3 传真会话实例描述 436
10.3.1 一类传真的发送实例 436
10.3.2 一类传真的接收实例 438
10.3.3 二类传真的发送实例 439
10.3.4 二类传真的接收实例 439
10.4 DIS/DCS位映像 440
10.4.1 向后兼容性和可扩展性 440
10.4.2 新的FCF 444
10.4.3 最小性能集合 444
10.4.4 DIS/DCS信息包的逐位解释 445
10.5 T.4传真图像协议 449
10.5.1 分辨率 449
10.5.2 文件尺寸 450
10.6 传真编码 454
10.6.1 一维编码(改进型哈夫曼编码) 454
10.6.2 二维编码(READ编码) 459
10.6.3 编码方式综述 461
10.6.4 行终码 461
10.6.5 页编码 461
10.7 传真高级编程 462
10.7.1 创建工程项目 462
10.7.2 关键代码分析 462