第1章 TCP/IP协议 1
1.1 TCP/IP协议族 1
1.1.1 OSI模型 1
1.1.2 DoD模型 2
1.1.3 TCP/IP主要协议 3
1.1.4 进程/应用层协议 4
1.1.5 主机-主机层协议 5
1.1.6 Internet层协议 6
1.2 TCP/IP基本概念介绍 7
1.2.1 IP报文数据封装 7
1.2.3 IP地址与子网掩码 8
1.2.2 IP数据报的分段与重组 8
1.2.4 域名 9
1.2.5 端口 10
1.2.6 URI及其有关形式 10
第2章 Winsock知识 12
2.1 网络编程接口(Winsock API) 12
2.2 Winsock编程模型 12
2.2.1 从UNIX下的Socket编程模型演化到Winsock 12
2.2.2 理解Socket 13
2.2.3 使用Winsock进行开发 13
2.3 Winsock常用结构说明 14
2.3.1 sockaddr_in结构 14
2.4 Winsock常用函数介绍 16
2.3.2 hostent结构 16
2.4.2 数据库函数 17
2.4.1 基本Socket函数 17
2.4.3 Winsock规范提供的扩展函数 18
2.5 常用Winsock函数使用说明 20
2.5.1 初始化Winsock 20
2.5.2 创建Socket 20
2.5.3 执行绑定 21
2.5.4 建立Socket连接 22
2.5.5 网络I/O函数 23
2.6 错误处理 24
2.6.1 错误处理函数 24
2.5.6 关闭Socket 24
2.6.2 常见错误码 25
2.7 使用Winsock API实现Finger 26
2.7.1 基本的流程 26
2.7.2 使用Winsock API实现Finger 26
2.8 使用Winsock API实现Echo 29
第3章 Delphi网络组件 33
3.1 Delphi Socket网络组件介绍 33
3.1.1 ClientSocket组件 34
3.1.2 ServerSocket组件 36
3.2 Delphi FastNet网络组件介绍 37
3.2.1 NMDayTime组件 38
3.2.3 NMFinger组件 39
3.2.2 NMEcho组件 39
3.2.4 NMFTP组件 40
3.2.5 NMHTTP组件 45
3.2.6 NMMsg组件 48
3.2.7 MMSGServ组件 49
3.2.8 NMNNTP组件 49
3.2.9 NMPOP3组件 52
3.2.10 NMSMTP组件 54
3.2.11 NMStrm组件 58
3.2.12 NMStrmServ组件 59
3.2.13 NMURL组件 59
3.2.14 NMUUProcessor组件 60
3.2.15 NMUDP组件 61
3.2.16 Powersock组件 63
3.2.17 GeneralServer组件 69
3.3 Delphi其他网络组件 69
3.3.1 WebDispatcher组件 69
3.3.2 PageProducer组件 71
3.3.3 QueryTableProducer组件 73
3.3.4 DataSetTableProducer组件 75
3.3.5 DataSetPageProducer组件 75
3.4 使用组件进行网络编程 76
3.4.1 使用NMFinger组件来实现Finger功能 76
3.4.2 使用NMEcho组件实现Echo功能 79
4.2 服务器与客户端的通信形式 83
第4章 客户端程序和服务器端程序 83
4.1 网络客户服务体系介绍 83
4.3 用FastNet组件实现字符信息传送 85
4.4 用FastNet组件实现流信息传送 89
4.5 使用Socket组件实现信息传送 93
4.5.1 Socket组件与FastNet组件的区别 93
4.5.2 基本功能 93
4.5.3 客户端程序 93
4.5.4 服务器端程序 97
第5章 基本网络功能实现 103
5.1 获取IP地址 103
5.1.1 利用系统工具获得IP地址 103
5.1.2 使用GetHostByName函数来获取IP 104
5.1.3 使用WSAAsyncGetHostByName函数获取IP地址 106
5.1.4 多IP情况的处理 109
5.1.5 关于IP地址和实际的地址的区别 111
5.2 获取子网掩码 113
5.2.1 Windows NT系统中获取子网掩码 113
5.2.2 Window 9x系统中获取子网掩码 116
5.3 获取计算机名 117
5.3.1 获取和设置本机主机名 117
5.3.2 获取远程主机名称 120
5.4 网络连接情况检测 121
5.4.1 使用Winlnet高级函数库函数检测网络状态 122
5.4.2 通过读取系统状态参数检测网络状态 123
5.5.1 Windows NT系统中获取DNS信息 124
5.5 获取DNS设置 124
5.5.2 Windows 9x系统中获取DNS信息 126
5.6 网卡信息的获取 127
5.6.1 使用GUID获取网卡地址 127
5.6.2 NetBIOS来获得MAC地址 129
5.6.3 使用RPC方式获得MAC地址 131
第6章 TCP协议相关网络协议应用 134
6.1 HTTP协议客户端实现 134
6.1.1 HTTP协议简介 134
6.1.2 HTTP协议的有关内容 136
6.1.3 编制页面浏览程序 138
6.1.4 调整Internet属性 143
6.1.5 使用NMHTTP组件访问需要认证站点 145
6.1.6 NMHTTP组件的HeaderInfo属性 148
6.1.7 通过代理访问站点 148
6.1.8 关于Cookie 151
6.1.9 下载URL资源 152
6.1.10 下载进度显示 154
6.2 FTP协议客户端实现 156
6.2.1 FTP协议简介 156
6.2.2 FTP服务器上的文件权限 156
6.2.3 FTP目录浏览 157
6.2.4 FTP目录操作 163
6.2.5 FTP文件操作 166
6.3.1 POP3协议简介 171
6.3 POP3协议客户端实现 171
6.3.2 收取邮件 172
6.3.3 编制邮件提示程序 178
6.4 SMTP协议客户端实现 183
6.4.1 SMTP协议简介 183
6.4.2 发送邮件 183
6.4.3 发送匿名邮件 189
6.4.4 发送邮件列表 191
6.4.5 向系统默认邮件程序发信息 197
6.5 TELNET协议客户端实现 201
6.5.1 TELNET协议简介 201
6.5.2 一个简单的TELNET客户端程序 201
6.5.4 TELNET协议使用的常量 205
6.5.3 TELNET协议的协商方式 205
第7章 UDP协议相关网络应用 208
7.1 发送UDP数据包 208
7.1.1 使用NMUDP组件发送UDP数据包 208
7.1.2 使用Winsock函数发送UDP数据 212
7.2 利用UDP协议进行网络广播 215
第8章 ICMP协议相关网络应用 220
8.1 ping指令程序实现 220
8.2 tracert指令程序实现 226
第9章 CGI及ISAPI相关编程 234
9.1 CGI、ISAPI基础知识 234
9.1.1 公共网关接口(CGI) 234
9.1.2 ISAPI 236
9.2 创建Web应用程序 237
9.1.3 CGI和ISAPI URL 237
9.2.1 TwebRequest和TwebResponse 244
9.2.2 表单处理程序 247
9.2.3 利用HTML内容生成器建立动态网页 252
9.2.4 传输二进制数据流文件 257
10.1.1 使用代理的原因 259
10.1.2 网络代理的原理 259
10.1 网络代理程序基础 259
第10章 代理相关网络应用 259
10.2 Socks5代理客户端的实现 260
10.2.1 Socks5协议主工作流程和数据格式说明 260
10.2.2 Socks5身份认证子协商 262
10.2.3 Socks5代理客户端程序实现 263
10.3 TELNET代理服务程序实现 271
第11章 拨号网络编程 282
11.1 使用AT命令拨号 282
11.2 使用TAPI 284
11.3 使用RAS(远程访问服务) 290
11.3.2 电话簿条目的管理 300
11.3.3 在程序中创建拨号连接 303
11.3.4 状态通知 311
12.1 IRC协议基本概念 318
12.1.1 频道(channel) 318
第12章 IRC协议编程 318
12.1.2 消息(message) 319
12.1.3 昵称(nickname) 319
12.2 安装使用IRC服务 320
12.2.1 安装IRC服务器 320
12.2.2 使用IRC客户端 322
12.3 IRC命令 323
12.3.1 连接和登录命令 323
12.3.2 频道操作 326
12.3.3 用户查询命令 330
12.3.4 其他命令 331
12.4 编写IRC客户端 332
12.4.1 IRCClient控件简介 332
12.4.2 使用IRCClient控件编程 336
第13章 网络编程常用编码 342
13.1 MIME编码 342
13.2 CRC校验 345
13.3 HASH算法 346
13.4 对称加密算法 348
13.4.1 DES算法 348
13.4.2 Blowfish算法 349
13.4.3 IDEA 349
13.5 Crypto编程 352
附录A 常用服务端口 356
附录B 常用RFC文档编号 363
附录C Delphi网络资源 366
11.3.1 用系统电话簿进行拨号 396