第1章 引言与概述 1
1-1 网络编程需求 2
1-2 Delphi与Visual C++ 2
1-2-1 相似点 2
1-2-2 不同点 3
1-2-3 Visual C++的优势 3
1-2-4 Delphi的优势 3
1-2-5 如何取长补短 5
1-3-2 要做的准备工作 6
1-3-1 不要误解标题 6
1-3 如何快速进入状态 6
1-4 Delphi编写网络程序的几种方式 7
1-4-1 利用Delphi的网络组件 7
1-4-2 使用第三方网络组件 9
1-4-3 使用WinSock API 10
1-4-4 利用自己编写的网络组件 10
1-4-5 利用ActivcX 10
1-5 小结 11
第2章 Delphi的网络组件 13
2-1 网络组件概述 14
2-2-1 TClientSocket与TServerSocket组件 15
2-2 常用网络组件精解 15
2-2-2 NMPOP3、NMSMTP与NMUUProcessor组件 23
2-2-3 到TWebModule与TPageProducer组件 25
2-3 网络组件使用技巧 30
2-3-1 正确的使用帮助 30
2-3-2 阅读Delphi组件源代码 32
2-3-4 在理论中升华以及完善 34
2-4 使用第三方组件 34
2-3-3 在实践中摸索 34
2-4-1 为什么会存在第三方组件 35
2-4-2 如何正确使用第三方组件 35
2-4-3 知名第三方网络组件ICS简介 38
2-5 小结 39
第3章 基于组件的Delphi网络编程 41
3-1 概述 42
3-2 起步——分析一个简单的网络聊天程序 42
3-3 进一步——自己写一个聊天程序 45
3-3-1 导读 45
3-3-3 回顾TServerSocket和TClientSocekt组件 46
3-3-2 明确目的 46
3-3-4 动手过程 48
3-3-5 不足之处 74
3-4 进一步——写一个HTTP协议分析器 74
3-4-1 导读 74
3-4-2 明确目的 75
3-4-3 整体结构分析 75
3-4-4 动手过程 75
3-4-5 不足之处 105
3-4-6 动脑时间 105
3-5-2 一点说明 106
3-5-3 CGI、NSAPI与ISAPI比较 106
3-5 应用——CGI、NSAPI与ISAPI 106
3-5-1 导读 106
3-5-4 回顾TWebModule与TPageProducer组件 107
3-5-5 动手写一个ISAPI应用程序 108
3-5-6 程序的调试 128
3-5-7 动脑时间 129
3-6-4 动手过程 130
3-6-3 ICS的Ftp组件 130
3-6-1 导读 130
3-6 完善——用用第三方组件 130
3-6-2 明确目的:写一个FTP客户端程序 130
3-6-5 动脑时间 146
3-7 小结 146
第4章 线程应用 147
4-1 概述 148
4-2 为什么要写多线程的程序 148
4-3 利用Windows API创建多线程程序 149
4-4-1 Thread Object——Delphi的同步对象 151
4-4 Delphi中的TThread类 151
4-4-2 TThread类源代码分析 153
4-5 进程同步 161
4-5-1 简介 161
4-5-2 临界区应用 161
4-5-3 互斥元(Mutex)应用 163
4-5-4 信号量应用 165
4-5-5 事件应用 166
4-6 使用Synchronize方法 167
4-7 Delphi 6中线程类的一些改动 170
4-8 动脑时间 179
4-9 小结 179
第5章 WinSock API与Delphi 181
5-1 概述 182
5-2 WinSock基础 182
5-2-1 TCP、UDP和IP协议 182
5-2-2 套接口(Socket)和Winsock API 182
5-2-3 面向连接和无连接 183
5-2-6 使用面向连接的协议时套接口的调用 184
5-2-5 套接口类型 184
5-2-4 客户/服务器模式 184
5-2-7 使用无连接的协议时套接口的调用 186
5-2-8 字节顺序问题 187
5-3 WinSock API常用函数 189
5-3-1 accept函数 189
5-3-2 bind函数 190
5-3-3 closesocket函数 191
5-3-4 connect函数 191
5-3-5 htons函数 191
5-3-7 listen函数 192
5-3-6 inet_addr函数 192
5-3-8 recv函数 193
5-3-9 select函数 193
5-3-10 send函数 194
5-3-11 socket函数 195
5-3-12 gethostbyname函数 195
5-3-13 WSACleanup函数 196
5-3-14 WSAStartup函数 197
5-4-2 分析TServerSocket和TClientSocket的源代码 199
5-4-1 回顾TServerSocket和TClientSocket组件 199
5-4 WinSock API——Delphi组件的基础 199
5-4-3 关于使用WinSocke API写网络组件 206
5-5 Delphi对WinSock API的封装 206
5-6 小结 207
第6章 基于WinSock API的网络编程 209
6-1 概述 210
6-2 起步——写一个文件传送程序 210
6-2-1 导读 210
6-2-2 整体结构分析 210
6-2-3 动手过程 211
6-2-4 不足之处 227
6-2-5 动脑时间 228
6-3 提高——写个简单的HTTP代理程序 228
6-3-1 导读 228
6-3-2 明确目的 228
6-3-3 整体结构及原理分析 229
6-3-4 动手过程 229
6-3-5 不足之处 246
6-3-6 动脑时间 247
6-4 应用——写一个WWW服务器 248
6-4-1 导读 248
6-4-2 明确目的 248
6-4-3 整体结构分析 248
6-4-4 动手过程 249
6-4-5 动脑时间 275
6-5 完善——网络编程容错处理 276
6-6 小结 277
第7章 网络编程与网络安全 279
7-2 起步——一些密码学基本概念 280
7-1 网络安全与网络编程的关系 280
7-3 提高——了解目录服务 281
7-4 进一步——了解一下X.509和SSL 284
7-5 回顾——综合运用所学到的知识 290
7-6 应用——写个实用的HTTP代理 290
7-6-1 导读 290
7-6-2 明确目的和思路 290
7-6-3 整体结构分析 290
7-6-4 动手过程 291
7-6-5 不足之处 309
7-6-6 动脑时间 310
7-7 完善——给代理加上保密功能 313
7-7-1 导读 313
7-7-2 明确目的 313
7-7-3 ISAPI过滤器 314
7-7-4 动手过程——让Delphi与VC合作 315
7-7-5 不足之处 326
7-7-6 动脑时间 326
7-8 小结 326
附录A 参考资料 327
附录B 配套光盘内容介绍 329