第1章 .NET简介 1
1-1 微软的.NET计划 2
1-1-1 .NET开发背景 2
1-1-2 什么是.NET 2
1-1-3 .NET的核心组件 3
1-1-4 .NET的重大意义 3
1-1-5 服务概念崭露头角 4
1-2 .NET框架 5
1-2-1 什么是.NET框架 5
1-2-2 虚拟对象系统 6
1-2-3 元数据 6
1-2-4 公共语言规范 7
1-2-5 虚拟执行系统 7
1-2-6 公共语言运行时(Common Language Runtime) 8
1-2-7 统一的.NET框架类库 10
1-2-8 对比.NET框架与Java框架 11
1-3 C#语言 12
1-3-1 C#的开发背景 12
1-3-2 C#语言的特点 13
1-4 Visual Studio.NET的全新集成开发环境 15
1-4-1 启动界面 16
1-4-2 解决方案管理器 17
1-4-3 工具箱 17
1-4-4 代码编辑窗口 18
1-4-5 资源视图 20
1-4-6 类视图 21
1-4-7 属性窗口 21
1-4-8 服务器浏览器 22
1-5 Visual Studio.NET中的向导 23
1-5-1 程序框架向导 23
1-4-9 提示窗口栏 23
1-5-2 添加类向导 24
1-5-3 类成员变量、成员函数添加向导 25
1-6 小结 26
第2章 .NET网络编程方法概述 27
2-1 Internet基础 28
2-1-1 Internet的发展历史 28
2-1-2 网络结构 29
2-1-3 网络逻辑分层 32
2-1-4 TCP/IP网络协议 33
2-1-5 套接字(Socket) 36
2-2 .NET网络编程组件 38
2-2-1 .NET中的网络组件 38
2-2-2 System.Net.Sockets命名空间 39
2-2-3 网络通信中的流 40
2-2-4 网络编程中其他常用类 43
2-3 .NET中Socket编程 45
2-3-1 Socket简介 45
2-3-2 .NET中的Socket类 46
2-3-3 Socket的同步和异步编程 51
2-3-4 基于UDP协议的Socket 64
2-4 TCP编程 68
2-4-1 TcpClient 68
2-4-2 TcpListener 69
2-5 小结 71
第3章 浏览器程序 73
3-1 实例功能 74
3-2 编程思路 75
3-3 预备知识 76
3-3-1 网络协议 76
3-3-2 HTTP协议 77
3-3-3 浏览器与HTTP协议 82
3-4 浏览器程序实现步骤 85
3-4-1 步骤1-建立程序框架 85
3-4-2 步骤2-建立程序界面 85
3-4-3 步骤3-实现浏览器功能 87
3-5 浏览器扩展功能的实现 96
3-5-1 阻止用户浏览不良网站 96
3-5-2 记录用户浏览的网站地址 96
3-5-3 过滤IE的弹出式广告窗口 97
3-5-4 程序清单 98
3-6 网页源代码浏览程序 98
3-6-1 步骤1-建立程序框架 98
3-6-2 步骤2-建立程序界面 98
3-6-3 步骤3-实现浏览源代码功能 99
3-7 实例小结 105
3-6-4 源代码浏览程序清单 105
第4章 电子邮件发送接收程序 107
4-1 实例功能 108
4-2 编程思路 109
4-3 预备知识 110
4-3-1 电子邮件工作原理 110
4-3-2 RFC821——简单邮件传输协议(SMTP) 110
4-3-3 RFC1939-POP3协议 113
4-4 发送邮件程序实现步骤 116
4-4-1 步骤1-建立程序框架 116
4-4-2 步骤2-建立程序界面 116
4-4-3 步骤3-实现发信功能 117
4-4-4 发信程序代码清单 124
4-5 接收邮件程序实现步骤 124
4-5-1 步骤1-建立程序框架 124
4-5-2 步骤2-建立程序界面 125
4-5-3 步骤3-实现发信功能 126
4-5-4 收信程序代码清单 130
4-6 封装SMTP和POP3类 134
4-6-1 SMTP的封装类 134
4-6-2 POP3的封装类 138
4-7 实例小结 147
第5章 FTP服务器 149
5-1 实例功能 150
5-2 编程思路 151
5-3 预备知识 151
5-3-1 FTP协议概述 151
5-4 入门实例 152
5-4-1 基于TCP协议的网络通讯小实例 152
5-4-2 多线程入门实例 158
5-5-1 步骤1-建立程序框架 159
5-5 实现步骤 159
5-5-2 步骤2-实现MainApp 160
5-5-3 步骤3-FTPD类主框架 163
5-5-4 步骤4-初始化连接 169
5-5-5 步骤5-分析用户请求 172
5-5-6 步骤6-处理用户请求 176
5-5-7 FTP服务器程序清单 188
5-6 实例小结 188
第6章 网络发布和订阅 189
6-1 实例功能 190
6-2 编程思路 191
6-3 预备知识 192
6-3-1 事件(Event)编程模型 192
6-4 入门实例 194
6-4-1 .NET Remoting实例 194
6-4-2 事件编程模型实例 198
6-5-1 步骤1-建立程序框架 199
6-5 实现步骤 199
6-5-2 步骤2-生成发布内容 202
6-5-3 步骤3-建立服务器端的.NET Remoting框架 204
6-5-4 步骤4-建立客户端.NET Remoting框架 206
6-5-5 步骤5-注册订阅者 208
6-5-6 步骤6-建立发布和订阅事件模型 209
6-5-7 步骤7-触发发布事件 214
6-5-8 步骤8-客户端显示 216
6-5-9 步骤9-编译程序 219
6-5-10 函数调用关系分析 219
6-5-11 程序清单 220
6-6 实例小结 220
第7章 基于TCP协议的聊天、文件传输程序 221
7-1 实例功能 222
7-2 编程思路 223
7-3 预备知识 224
7-3-1 网络协议 224
7-3-2 流(Stream) 225
7-3-3 Winsock与网络协议 226
7-3-4 System.Text命名空间 228
7-4 入门实例 229
7-5 实现步骤 231
7-5-1 步骤1-建立程序框架 231
7-5-2 步骤2-定义P2PSockEventArgs事件类和代表 232
7-5-3 步骤3-P2PSock类中的域定义 233
7-5-4 步骤4-P2PSock类构造函数 234
7-5-5 步骤5-P2PSock类与远端连接的建立 238
7-5-6 步骤6-P2PSock类发送字符串数据 240
7-5-7 步骤7-P2PSock类接收数据 241
7-5-8 步骤8-P2PSock类更改用户名 245
7-5-9 步骤9-P2PSock类文件定时器 246
7-5-10 步骤10-P2PSock类文件收发功能 249
7-5-11 步骤11-P2P MultiChat界面 286
7-5-12 步骤12-ChatForm类中手动增加的域 287
7-5-13 步骤13-ChatForm类构造函数 288
7-5-14 步骤14-ChatForm类服务器端侦听 289
7-5-15 步骤15-ChatForm类各种P2PSock事件响应 293
7-5-16 步骤16-ChatForm类本地用户名更改 298
7-5-17 步骤17-ChatForm类和指定的远端建立连接 300
7-5-18 步骤18-ChatForm类文件发送 301
7-6 实例小结 303
第8章 用C#实现简单的网络监视软件 305
8-1 实例功能 306
8-2 编程思路 306
8-3 预备知识 307
8-3-1 TCP/IP协议 307
8-3-2 Winsock编程 308
8-3-3 WMI技术 309
8-4 入门实例 310
8-4-1 使用WMI的小实例 310
8-5 实现步骤 311
8-5-1 步骤1-建立程序框架 311
8-5-2 步骤2-IP头格式定义 313
8-5-3 步骤3-PacketArrivedEventArgs事件类和代表 314
8-5-4 步骤4-SniffSocketException异常类的实现 317
8-5-5 步骤5-SniffSocket类构造函数 317
8-5-6 步骤6-创建和绑定连接 318
8-5-7 步骤7-接收和处理IP包 322
8-5-8 步骤8-MainForm主界面 331
8-5-9 步骤9-主窗体载入过程 332
8-5-10 步骤10-PacketDisplay类的实现 336
8-5-11 步骤11-主窗体sniff功能的实现 337
8-5-12 步骤12-独立的程序入口类 339
8-6 实例小结 340
第9章 远程分布式数据库查询系统 341
9-1 实例功能 342
9-2 编程思路 344
9-3 预备知识 345
9-3-1 分布式数据库技术 345
9-3-2 使用ADO.NET访问数据库 346
9-4 远程分布式数据库查询程序实现步骤 351
9-4-1 步骤1-建立数据库服务对象(DbServer)的dll工程 351
9-4-2 步骤2-创建数据库和系统表 352
9-4-3 步骤3-DbServer类的初始化过程 353
9-4-4 步骤4-DbServer的查询方法 356
9-4-5 步骤5-DbServer的非查询命令处理 361
9-4-6 步骤6-根据DataSet创建临时表 365
9-4-7 步骤7-远程创建临时表 368
9-4-8 步骤8-合并两个DataTable或两张表 369
9-4-9 步骤9-建立客户端程序框架 371
9-4-10 步骤10-建立客户端程序界面 371
9-4-11 步骤11-实现查询功能 373
9-4-12 远程分布式数据库查询系统程序代码清单 384
9-5 实例小结 384
第10章 ASP.NET网络应用程序 385
10-1 预备知识 386
10-1-1 ASP.NET历史 386
10-1-2 什么是ASP.NET 386
10-1-3 ASP.NET核心内容 387
10-1-4 ASP.NET应用程序 388
10-1-5 ASP.NET网络服务 389
10-1-6 ASP.NET中的文件类型 390
10-1-7 ASP.NET中的状态 390
10-2-1 功能描述 392
10-2 实例一 在网页上发送电子邮件 392
10-2-2 编程思路 393
10-2-3 实现步骤 393
10-3 实例二 对用户进行身份验证 400
10-3-1 功能描述 400
10-3-2 编程思路 401
10-3-3 实现步骤 401
10-4 实例三 显示定制图形 405
10-4-1 功能描述 405
10-4-2 编程思路 406
10-4-3 预备知识 406
10-4-4 实现步骤 408
10-5 小结 411
第11章 带有身份验证的文件传输Web服务 413
11-2 编程思路 414
11-1 实例功能 414
11-3 预备知识 415
11-3-1 Web Service概念 415
11-3-2 Web Service的优缺点 420
11-3-3 XML技术 423
11-4 入门实例 426
11-4-1 用ASP.NET创建Web Service方法概述 426
11-4-2 Web Service入门实例 428
11-5 实现步骤 430
11-5-1 步骤1-建立程序框架 430
11-5-2 步骤2-Authentication类的实现 431
11-5-3 步骤3-FileService类的实现 434
11-5-4 步骤4-客户端Web Reference的添加 437
11-5-5 步骤5-客户端界面设计 438
11-5-6 步骤6-客户端Web服务调用 439
11-6 实例小结 441