第1章 Internet 1
1.1 概述 1
1.2 协议与数据 3
1.3 协议堆栈和OSI模型 4
1.4 TCP/IP 6
1.5 名称与地址 6
1.6 端口 7
1.7 名称解析 7
1.8 套接字 8
1.9 TCP/IP模型 9
第2章 Winsock编程 11
2.1 引言 11
2.1.1 为什么不使用Winsock API 11
2.1.2 安装软件 12
2.1.3 将DSSOCK32.OCX 加载进Visual Basic 12
2.1.4 DSSOCK.BAS 13
2.2 开始使用dsSocket 14
2.2.1 生成Sockets连接 15
2.2.2 发生了什么事 20
2.2.4 关闭连接 21
2.2.3 SocketID和Socket属性 21
2.3 处理服务器端的多重连接 22
2.4 发送数据 25
2.5 接收数据 26
2.5.1 LineMode 、EOLChar和 DataSize 27
2.5.2 简单的方法 27
2.5.3 一个新的麻烦 28
2.5.4 用标记分解进程 29
2.5.5 稍微修改 31
2.5.6 事件驱动=没有循环 32
2.6.1 Winsock错误 36
2.5.7 哪个方法更好 36
2.6 错误处理 36
2.6.2 错误处理技术 38
2.6.3 最低限度的错误捕获 39
2.6.4 Debug.Print错误捕获 39
2.6.5 消息对话报告 40
2.6.6 错误日志报告 40
2.7 UDP——用户数据报协议 41
2.8 Terminal——Winsock Terminal程序 42
2.9 小结 44
3.1 引言 45
3.1.1 NTP(Network Time Protocol,网络时间协议) 45
第3章 简单协议 45
3.1.2 WHOIS 46
3.1.3 FINGER 47
3.1.4 SetTime应用程序 49
3.2 小结 53
第4章 Usenet新闻 55
4.1 引言 55
4.2.1 MessageID与消息编号 56
4.2 NNTP 56
4.2.2 NNTP版本 57
4.3 NNTP命令 57
4.4 WILDMAT格式 59
4.5 服务器响应 60
4.6 Usenet文章格式 62
4.7 VB编程技术 63
4.8 字符串语法分析 65
4.9 示例程序——NNTP.VBP 66
4.10 连接到NNTP服务器 68
4.11 检索文章报头 69
4.12 检索一篇完整的文章 72
4.13 检索文章信息 72
4.14 邮寄一篇文章 73
4.15 向以前的消息邮寄回信 75
4.16 检索新闻组的列表 75
4.16.1 LIST ACTIVE返回有选择性的新闻组 76
4.16.2 XGTTTLE返回新闻组描述 76
4.17 检索文章编号的列表 77
4.19 用报头搜索文章 78
4.18 检索特定的报头字段 78
4.20 服务器到服务器的通信 79
4.21 使用cfNNTP对象 79
4.22 小结 79
第5章 电子邮件 81
5.1 引言 81
5.2 SMTP协议 82
5.3 SMTP命令 83
5.4 服务器响应 83
5.5 VB编程技术 85
5.5.1 Brain-Dead SMTP 85
5.5.3 连接与断开连接 86
5.5.2 真正的SMTP 86
5.6 示例应用程序;SMTP.VBP 87
5.6.1 发送邮件 94
5.6.2 发送对邮寄 97
5.6.3 回复邮件 98
5.6.4 转发邮件 98
5.6.5 验证SMTP地址 99
5.7 POP3协议 100
5.7.1 POP3命令 100
5.6.6 错误处理 100
5.7.2 服务器响应 101
5.8 POP3状态 103
5.8.1 授权状态 103
5.8.2 事务状态 103
5.8.3 更新状态 104
5.9 VB编程技术 104
5.9.1 示例程序: POP3.VBP 104
5.9.2 登录到服务器 109
5.9.3 检索消息报头 110
5.10 检索消息 112
5.11 发送与接收二进制文件和UU编码原理 113
5.12 UUCODE.BAS编码与解码例程 117
5.12.1 UUEncode 117
5.12.2 UUDecode 117
5.13 用SMTP发送编码文件 118
5.14 使用cfSMTP和cfPOP3对象 120
5.15 小结 120
第6章 文件传输协议(FTP) 123
6.1 引言 123
6.1.1 什么时候使用FTP 123
6.1.3 连接与登录 124
6.1.2 FTP程序 124
6.1.4 列出目录 125
6.1.5 改变目录 126
6.1.6 下载 127
6.1.7 上载 127
6.1.8 支持的命令 128
6.1.9 结束会话 128
6.1.10 使用Web浏览器下载文件 128
6.2 FTP协议 129
6.2.1 FTP错误 129
6.4 服务器响应 130
6.2.2 连接 130
6.3 FTP命令 130
6.5 Visual Basic代码 133
6.5.1 使用显示终端 133
6.5.2 FTPLogon 134
6.5.3 SendFTPCommand 134
6.5.4 检索目录列表 135
6.5.5 改变目录 135
6.5.6 下载文件 135
6.5.7 GetFileFromURL 135
6.5.9 调试 136
6.5.8 上载文件 136
6.6 FTP代码内幕 138
6.6.1 连接到服务器 138
6.6.2 现实中断 141
6.7 在SendFTPCommand内部 141
6.7.1 改变目录 144
6.7.2 创建数据连接 145
6.8 检索目录列表 146
6.8.1 上载文件 148
6.8.2 下载文件 150
6.10 小结 151
6.9 使用cdFTP对象 151
第7章 访问World Wide Web 153
7.1 World Wide Web 153
7.1.1 HTTP——Hypertext Transfer Protocol(超文本传输协议) 153
7.1.2 HTML——Hypertext Markup Language(超文本标记语言) 153
7.1.3 理解World Wide Web 154
7.1.4 怎样读URL 155
7.1.5 HTTP消息报头 157
7.1.6 解释服务器的响应 157
7.1.7 在Visual Basic中访问HTTP服务器 161
7.2 访问窗体 166
7.3 用TIGER Map Service绘制地图 169
7.4 NetPaper 175
7.5 HTTP的编程技巧 175
7.6 参考资料 176
7.7 小结 176
第8章 介绍Visual Basic中的对象 177
8.1 导言 177
8.2 Type变量 177
8.3 其他类比 179
8.4 怎样“生成”一个对象 180
8.5 属性 181
8.6 集合 182
8.7 小结 184
第9章 使用cflnternet对象 185
9.1 基础的基础——cfWinsock 185
9.1.1 使用cfWinsock对象 188
9.1.2 Control属性 188
9.2 cfInternet内幕 189
9.2.1 cfNNTP 189
9.2.2 检索文章 191
9.2.3 粘贴文章 193
9.3 cfSMTP——Simple Mail Transport Protocol(简单邮件传输协议) 194
9.4 cfPOP3——Post Office Protocol3(邮局协议3) 196
9.5 cfFTP——File Transfer Protocol(文件传输协议) 199
9.6 小结 201
第10章 CG14VB:服务器端程序设计 203
10.1 CGI(公共网关接口) 203
10.1.1 CG14VB 203
10.1.2 CGI的速度问题 204
10.2 HTML窗体和ACME.HTM示例窗体 204
10.2.1 定义窗体 208
10.2.2 定义字段 209
10.2.3 Submit按钮 209
10.3 剖析CGI 210
10.3.1 CG14Visual Basic.BAS 210
10.3.2 ACME.BAS:CGI_Main 和Inter_Main 210
10.3.3 取消对CG14VB.BAS中 Sub Main的选取 210
10.3.4 CGI_Main:魔术发生的地方 212
10.3.5 数据的检索和保存 213
10.3.7 状态代码 217
10.3.6 用Send命令把数据发送到客户 217
10.4 其他CGI选项 218
10.5 小结 218
第11章 Microsoft Internet Information Server 219
11.1 IDC——Internet数据库连接器 219
11.2 理解文件类型 221
11.3 HTML的保留字 224
11.4 Active Server Pages 226
11.5 在ASP中访问COM对象 228
11.6 ASP和数据库访问 229
11.7 处理来自窗体的输入数据 230
11.8 数据返回给用户 232
11.9 Visual Basic 6.0中的IIS应用程序 233
11.9.1 Peer Web Services 234
11.9.2 WebClass Designer 234
11.9.3 HTML Template WebItems 235
11.9.4 Custom Tags(自定义标记) 237
11.9.5 自定义事件 238
11.9.6 自定义WebItems 239
11.9.7 测试和调试 239
11.9.8 从HTML中人工调用WebItems 240
11.10 小结 241
第12章 编写自定义的Winsock客户/服务器应用程序 243
12.1 cfSocket ActiveX DLL 244
12.2 cfSockClient客户/服务器模型 247
12.2.1 cfSockClient对象在计算机上的注册 248
12.2.2 使用cfSockClient对象 248
12.3 cfSockClient OLE Server内幕 249
12.3.1 初始化 253
12.3.2 连接到服务器 254
12.4 数据发送到服务器 257
12.5 从服务器检索数据 263
12.6 文件发送到服务器 268
12.7 从服务器检索文件 272
12.8 CFServer应用程序 274
12.9 从服务器接收Unsolicited命令 279
12.10 远程数据访问 280
12.10.1 ODBC_OPEN 281
12.10.2 ODBC_QUERY 289
12.10.3 ODBC_CLOSE 290
12.10.4 ODBCTesi:一个示例性ODBC客户应用程序 291
12.11 小结 291
A.1 NNTP命令(ARTICLE) 293
附录A NNTP命令参考 293
A.2 NNTP命令(AUTHINFO*) 294
A.3 NNTP命令(AUTHINFO SLMPLE*) 295
A.4 NNTP命令(AUTHINFO GENERIC*) 296
A.5 NNTP命令(DATE*) 297
A.6 NNTP命令(GROUP) 297
A.7 NNTP命令(HELP) 298
A.8 NNTP命令(IHAVE) 298
A.9 NNTP命令(LAST) 299
A.10 NNTP命令(LIST) 299
A.11 NNTP命令(LIST ACTIVE*) 300
A.12 NNTP命令(LIST ACTIVE.TIMES*) 301
A.13 NNTP命令(LIST DISTRIBUTIONS*) 301
A.14 NNTP命令(LIST DISTRIB.PATS*) 302
A.15 NNTP命令(LIST NEWSGROUPS*) 302
A.16 NNTP命令(LIST OVERVIEW.FMT*) 303
A.17 NNTP命令(LIST SUBSCRIPTIONS*) 304
A.18 NNTP命令(LISTGROUP*) 304
A.19 NNTP命令(MODE READER*) 305
A.20 NNTP命令(NEWGROUPS) 305
A.21 NNTP命令(NEWNEWS) 306
A.22 NNTP命令(POST) 307
A.23 NNTP命令(XGTITLE*) 308
A.24 NNTP命令(XHDR*) 309
A.25 NNTP命令(XINDEX*) 310
A.26 NNTP命令(XOVER*) 310
A.27 NNTP命令(XPAT*) 311
A.28 NNTP命令(XTHREAD*) 312
附录B SMTP命令列表 315
B.1 SMTP命令(DATA) 315
B.3 SMTP命令(HELLO) 316
B.2 SMTP命令(EXPAND) 316
B.4 SMTP命令(HELP) 317
B.5 SMTP命令(MAIL) 317
B.6 SMTP命令(NOOP) 318
B.7 SMTP命令(QUIT) 318
B.8 SMTP命令(RECIPIENT) 319
B.9 SMTP命令(RESET) 319
B.10 SMTP命令(SEND and MAIL) 320
B.11 SMTP命令(SEND) 321
B.12 SMTP命令(SEND or MAIL) 321
B.13 SMTP命令(TURN) 322
B.14 SMTP命令(VRFY) 323
附录C POP3命令列表 325
C.1 POP3命令(DELE) 325
C.2 POP3命令(LIST) 325
C.3 POP3命令(NOOP) 326
C.4 POP3命令(PASS) 326
C.5 POP3命令(QUIT) 327
C.6 POP3命令(RETR) 327
C.7 POP3命令(RSET) 328
C.8 POP3命令(STAT) 328
C.10 POP3命令(UIDL*) 329
C.9 POP3命令(TOP*) 329
C.11 POP3命令(USER) 330
附录D FTP命令列表 331
D.1 FTP命令(ABOR) 331
D.2 FTP命令(ACCT) 332
D.3 FTP命令(ALLO) 332
D.4 FTP命令(APPE) 333
D.5 FTP命令(CDUP) 334
D.7 FTP命令(DELE) 335
D.6 FTP命令(CWD) 335
D.8 FTP命令(HELP) 336
D.9 FTP命令(LIST) 336
D.10 FTP命令(MKD) 337
D.11 FTP命令(MODE) 338
D.12 FTP命令(NLST) 338
D.13 FTP命令(NOOP) 339
D.14 FTP命令(PASS) 340
D.15 FTP命令(PASV) 340
D.16 FTP命令(PORT) 341
D.18 FTP命令(QUIT) 342
D.17 FTP命令(PWD) 342
D.19 FTP命令(REIN) 343
D.20 FTP命令(REST) 343
D.21 FTP命令(RETR) 344
D.22 FTP命令(RMD) 345
D.23 FTP命令(RNFR) 345
D.24 FTP命令(RNTO) 346
D.25 FTP命令(SITE) 346
D.26 FTP命令(SMNT) 347
D.28 FTP命令(STOR) 348
D.27 FTP命令(STAT) 348
D.29 FTP命令(STOU) 349
D.30 FTP命令(STRU) 351
D.31 FTP命令(SYST) 351
D.32 FTP命令(TYPE) 352
D.33 FTP命令(USER) 353
附录E 配套光盘内容 355
E.1 示例代码 355
E.2 Dolphin Systems的dsSocket TCP/IP控件 355
E.3 Internet协议文档(RFC数据库) 355
E.4 音乐 356