1.1 物理网络 1
第1章 联网概念和协议 1
1.1.1 WAN线路 2
1.1.2 Ethernet协议 2
1.1.3 物理组件 4
1.2 分层OSI模型 9
1.2.1 第一层:物理层 11
1.2.2 第二层:数据链路层 11
1.2.3 第三层:网络层 12
1.2.4 第四层:传输层 12
1.2.5 第五层:会话层 12
1.2.6 第六层:表示层 12
1.3.1 基本协议 13
1.2.7 第七层:应用层 13
1.3 网络协议 13
1.3.2 Internet协议 23
1.3.3 电子邮件协议 27
1.3.4 其他应用程序协议 28
1.4 套接字 29
1.5 域名 30
1.5.1 whois服务 31
1.5.2 域名服务器 31
1.6 Internet 32
1.6.1 Intranet和Extranet 32
1.6.2 防火墙 33
1.6.3 Web代理 33
1.6.4 XML Web服务 34
1.7 Messaging 36
1.8 访问网络对象的其他方法 36
1.9 Internet组织和标准 37
1.10 小结 37
第2章 .NET中的流 39
2.1 .NET中的流 39
2.1.1 同步和异步I/O 39
2.1.2 Stream类 40
2.1.3 FileStream类 43
2.1.4 利用FileStream进行读/写 45
2.1.5 BufferedStream类 50
2.1.6 MemoryStream类 50
2.1.7 NetworkStream类 51
2.1.8 CryptoStream类 54
2.2 流操纵 57
2.2.1 编码字符串数据 57
2.2.2 二进制文件 60
2.2.3 TextReader类 63
2.2.4 TextWriter类 65
2.3 串行化 67
2.3.1 串行化为XML格式 68
2.3.2 用格式化程序对象进行串行化 71
2.4 小结 75
第3章 .NET中的网络编程 76
3.1 System.Net类——概述 76
3.1.1 名称查找 76
3.1.2 IP地址 76
3.1.4 请求和响应 77
3.1.3 身份验证和授权 77
3.1.5 连接管理 78
3.1.6 Cookies 78
3.1.7 代理服务器 79
3.1.8 套接字 79
3.2 使用URIs 80
3.2.1 Uri类 81
3.2.2 Uri类的属性 82
3.2.3 用UriBuilder类修改URI 84
3.2.4 绝对和相对URI 84
3.3 IP地址 85
3.3.1 预定义地址 86
3.3.2 本机或网络字节顺序 86
3.4.1 将名称解析为IP地址 87
3.4 Dns类 87
3.4.2 解析IP地址的方式 88
3.4.3 异步解析IP地址 90
3.5 请求和响应 91
3.5.1 WebRequest类和WebResponse类 92
3.5.2 可插接式协议 94
3.5.3 FileWebRequest类和FileWebResponse类 95
3.5.4 连接池 97
3.6 使用Web代理 98
3.6.1 WebProxy类 99
3.6.2 默认的Web代理 99
3.6.3 为特定的请求修改WebProxy 100
3.7 身份验证 100
3.8 权限 101
3.8.1 使用权限属性 102
3.8.2 配置权限 104
3.9 小结 107
第4章 使用套接字 108
4.1 套接字 108
4.2 在.NET中使用套接字 111
4.2.1 System.Net.Sockets.Socket类 111
4.2.2 创建一个TCP流式套接字应用程序 112
4.2.3 System.Net.Sockets中的异常管理 121
4.2.4 套接字选项 124
4.3 异步编程 126
4.3.1 异步客户应用程序 127
4.3.2 异步服务器应用程序 132
4.4 套接字权限 137
4.5 小结 144
第5章 TCP 145
5.1 TCP概述 145
5.1.1 封装 145
5.1.2 TCP术语 146
5.1.3 TCP报头 146
5.1.4 TCP连接 146
5.1.5 TCP操作 147
5.2 .NET中的TCP概述 149
5.2.1 TcpClient类 149
5.2.2 构建一个真正的套接字应用程序 155
5.2.3 实现FtpWebRequest类 160
5.2.4 TcpListener类 178
5.3 .NET Remoting 186
5.3.1 应用程序域 186
5.3.2 Remoting的工作方式 187
5.4 小结 195
第6章 UDP 196
6.1 UDP协议概述 196
6.1.1 UDP的术语 197
6.1.2 UDP的工作方式 199
6.1.3 UDP的缺点 200
6.1.4 UDP的优点 201
6.1.5 使用UDP的时机 202
6.2 .NET中的UDP 202
6.2.1 UdpClient类 203
6.2.2 创建一个使用UDP的聊天应用程序 214
6.3 文件传输应用程序 219
6.3.1 文件服务器 219
6.3.2 文件接收器 222
6.3.3 广播 225
6.4 基于UDP的高级协议 225
6.5 小结 227
第7章 多播套接字 228
7.1 单播、广播和多播 228
7.2 使用多播的应用程序模型 229
7.3 多播套接字的体系结构 231
7.3.1 IGMP协议 231
7.3.2 多播地址 232
7.3.3 路由 234
7.3.4 可伸缩性 237
7.3.5 可靠性 237
7.4.2 接收方 238
7.4.1 发送方 238
7.3.6 安全性 238
7.4 利用.NET使用多播套接字 238
7.5 创建聊天应用程序 240
7.5.1 用户界面 240
7.5.2 配置设置 242
7.5.3 加入多播组 243
7.5.4 接收多播消息 244
7.5.5 发送多播消息 245
7.5.6 撤销多播成员 246
7.5.7 启动聊天应用程序 247
7.6 画展应用程序 247
7.6.1 画展解决方案 248
7.6.2 创建一个图片协议 248
7.6.3 画展服务器 254
7.6.4 画展客户程序 264
7.7 小结 272
第8章 HTTP 273
8.1 HTTP协议概述 273
8.1.1 HTTP报头 275
8.1.2 HTTP请求 276
8.1.3 HTTP响应 278
8.2 .NET中的HTTP 279
8.2.1 HttpWebRequest类和HttpWebResponse类 280
8.2.2 货币转换器应用程序 282
8.2.3 发送数据 284
8.2.4 HTTP分块 286
8.2.6 HTTP连接管理 288
8.2.5 HTTP保持有效连接 288
8.2.7 WebClient类 289
8.2.8 身份验证 296
8.2.9 代理支持 298
8.2.10 读/写cookies 299
8.3 提供ASP.NET支持的HTTP服务器 303
8.3.1 服务器配置文件 304
8.3.2 为服务器编码 305
8.4 HTTP和.NET Remoting 316
8.5 小结 319
第9章 电子邮件协议 320
9.1 电子邮件简介 320
9.2 电子邮件的工作方式 320
9.3 电子邮件协议 321
9.3.1 SMTP 322
9.3.2 典型的电子邮件消息 326
9.3.3 在Outlook中查看报头 328
9.3.4 MIME 329
9.3.5 检索客户/服务器电子邮件 331
9.4 .NET和电子邮件 335
9.4.1 SMTP 335
9.4.2 SMTP邮件应用程序 339
9.4.3 POP3 340
9.4.4 NNTP 348
9.5 小结 357
第10章 .NET中的密码术 358
10.1 密码术的历史 358
10.2 密码术的定义 358
10.3 使用密码术的原因 360
10.4 加密算法 361
10.4.1 对称算法 362
10.4.2 不对称算法 363
10.4.3 消息分类算法 364
10.4.4 数字签名 365
10.5 密码术的术语 366
10.5.1 块式密码和流式密码 366
10.5.2 填充 366
10.5.3 模式 367
10.6 System.Security.Cryptography命名空间 368
10.7 用.NET进行散列运算 369
10.8 用.NET进行对称转换 376
10.8.1 SymmetricAlgorithm类 376
10.8.2 使用其他的对称算法 380
10.9 用.NET进行不对称转换 381
10.9.1 AsymmetricAlgorithm类 381
10.9.2 使用RSA算法 382
10.9.3 加载公钥和私钥 385
10.10 读取X509证书 388
10.11 密码术和网络编程 390
10.12 小结 396
第11章 身份验证协议 398
11.1 身份验证协议 398
11.1.1 NTLM 398
11.1.2 Kerberos 402
11.1.3 .NET安全性和Windows 406
11.1.4 System.Net.IAuthenticationModule类 410
11.2 小结…………………x 412