第1章 C#.N ET网络编程概述 1
1.1网络通信概述 1
1.1.1网络通信模型概述 1
1.1.2网络通信协议、接口和服务概述 2
1.1.3 TCP/IP网络架构概述 4
1.1.4 IP地址与端口 6
1.2 C#.NET网络编程相关类 9
1.2.1 IPAddress类 9
1.2.2 DNS类 13
1.2.3 IPHostEntry类 16
1.2.4 IPEndPoint类 19
1.2.5 Socket类 21
1.3套接字概述 21
1.3.1套接字的类型和常用属性 22
1.3.2建立面向连接的套接字 24
1.3.3建立面向无连接的套接字 25
1.4使用套接字的简单示例 26
1.4.1 C/S与B/S架构通信模式概述 27
1.4.2编写客户端代码 28
1.4.3编写服务器端代码 30
1.4.4无阻塞套接字 32
1.5本章小结 33
第2章 C#.N ET高级网络编程技术概述 35
2.1线程与网络通信 35
2.1.1基于线程的网络通信概述 36
2.1.2在网络编程中使用多线程 36
2.1.3线程基础 36
2.1.4多线程在网络编程中的应用 40
2.2网络通信的常见问题 47
2.2.1让网络通信代码更强壮 47
2.2.2数据缓冲区处理方法 49
2.3 TCP无保护消息边界 51
2.3.1发送固定长度的消息 51
2.3.2采用变长的消息 53
2.3.3使用特殊标记处理消息 55
2.4本章小结 55
第3章 开发基于TCP协议的应用程序 57
3.1套接字与TCP协议 57
3.1.1使用套接字传输数据 57
3.1.2 NetworkStream对象同数据发送与接收 59
3.1.3 TcpClient与TcpListener类 62
3.1.4使用TCP/IP协议编写应用层的通信代码 64
3.2开发异步的TCP应用编程 67
3.2.1 TCP的异步通信流程 67
3.2.2线程阻塞与异步中的同步问题 78
3.3开发异步的TCP聊天程序 79
3.3.1客户端界面设计 80
3.3.2客户端业务逻辑设计 81
3.3.3服务器端界面设计 85
3.3.4服务器端业务逻辑设计 86
3.3.5运行界面 93
3.4本章小结 96
第4章 开发基于UDP的应用程序 97
4.1 UDP通信协议概述 97
4.1.1 UDP协议与TCP协议的差别 97
4.1.2 UDP协议的使用场合 99
4.2在C#下UDP协议的相关类 100
4.2.1 IPAddress类 100
4.2.2 UdpClient类的构造函数 101
4.2.3 UdpClient类的常用方法与实例 102
4.3 UDP协议使用示例 105
4.3.1 UDP模块功能概述 106
4.3.2设计通信流程 106
4.3.3开发服务器端程序 107
4.3.4开发客户端程序 110
4.3.5使用多线程开发UDP协议 113
4.3.6使用校验保证信息完整性 118
4.3.7效果演示 121
4.4本章小结 123
第5章 开发基于SNMP协议的应用程序 125
5.1 SNMP协议概述 125
5.1.1了解SNMP协议 125
5.1.2 SNMP的常用命令 128
5.1.3设计SNMP包 130
5.2 SNMP协议使用示例 134
5.2.1需求分析与设计 134
5.2.2设计程序流程 136
5.2.3程序窗口界面设计 137
5.2.4 SNMP类编写 138
5.2.5 SNMP程序窗口类编写 147
5.3运行效果演示 156
5.4使用供货商提供的MIB库 158
5.5本章小结 159
第6章 使用.NET发送邮件 161
6.1邮件发送与接收协议概述 161
6.1.1 SMTP协议与邮件发送 162
6.1.2 POP3协议与邮件接收 163
6.1.3 .NET下支持SMTP和POP3的类 166
6.2邮件发送与接收模块 169
6.2.1需求分析与设计 169
6.2.2设计邮件发送和接收的流程 171
6.2.3界面设计 172
6.2.4编写主窗口的业务逻辑 176
6.2.5编写发送邮件的业务逻辑 179
6.2.6 编写接收邮件的业务逻辑 186
6.2.7使用多线程发送与接收邮件 199
6.3运行效果演示 200
6.4本章小结 203
第7章 FTP下载与文件传输 205
7.1 FTP协议概述 205
7.1.1使用FTP协议下载文件的流程 206
7.1.2相关类库说明 207
7.2 FTP客户端设计 210
7.2.1需求分析 211
7.2.2界面设计 211
7.2.3业务逻辑设计 213
7.3 FTP服务器端设计 224
7.3.1需求分析 224
7.3.2 FTP响应码 225
7.3.3业务逻辑设计 233
7.4运行界面 268
7.5本章小结 269
第8章 基于C#. N ET的网络管理模块 271
8.1 ICMP协议概述 271
8.1.1 ping命令 271
8.1.2 tracert命令 273
8.2 ICMP包 275
8.3编写网络管理模块 278
8.3.1需求分析 278
8.3.2界面设计 279
8.3.3编写核心icmp类的 业务逻辑 280
8.3.4编写具有ping功能的 业务逻辑 286
8.3.5编写具有tracert功能的 业务逻辑 293
8.3.6编写findmask功能的 业务逻辑 297
8.3.7编写时间戳功能的 业务逻辑 300
8.4运行界面 303
8.5本章小结 305
第9章 编写基于.NET的 Web Service 307
9.1 Web Service概述 307
9.1.1 Web服务基本概念 307
9.1.2 Web服务的优势 308
9.1.3 Web服务的架构 309
9.2需求分析与设计 310
9.2.1需求分析 310
9.2.2文件功能设计 311
9.2.3数据库设计 311
9.3编写Web Service服务系统 314
9.3.1构建Web Service 314
9.3.2编写Web服务代码 316
9.3.3主页面与登录相关的WebService数据访问模块 316
9.3.4发表主题相关的Web Service访问模块 321
9.3.5投票相关的Web Service 访问模块 328
9.3.6管理相关的Web Service 访问模块 332
9.4主页面与登录模块 337
9.4.1界面设计 337
9.4.2编写业务逻辑 340
9.5发表主题模块 346
9.5.1界面设计 346
9.5.2编写业务逻辑 351
9.6投票模块 356
9.6.1界面设计 356
9.6.2编写业务逻辑 358
9.7管理模块 360
9.7.1界面设计 360
9.7.2编写业务逻辑 364
9.8本章小结 366
第10章 基于.NET的远程技术 369
10.1远程技术概述 369
10.1.1远程技术开发结构 369
10.1.2远程技术使用 370
10.2远程控制开发客户端 的设计 372
10.2.1界面设计与控件使用 372
10.2.2客户端的代码设计 378
10.3远程控制开发服务器端 的设计 389
10.3.1界面设计与控件使用 390
10.3.2服务器端的代码设计 390
10.4运行效果演示 397
10.5本章小结 402
第11章 流媒体在线播放 403
11.1需求分析与设计 403
11.1.1需求分析 403
11.1.2模块设计 404
11.1.3数据库设计 405
11.2 DirectShow接口 406
11.2.1滤波图模型 406
11.2.2如何使用DirectShow接口 406
11.2.3流媒体在线播放 相关接口 407
11.3流媒体协议 408
11.3.1实时传输协议(RTP) 409
11.3.2实时传输控制 协议(RTCP) 409
11.3.3实时流传输协议(RTSP) 409
11.3.4流媒体服务过程 410
11.4建立.NET的窗体项目 411
11.4.1主窗口界面设计 411
11.4.2收藏夹数据库相关业务逻辑设计 414
11.4.3流媒体在线播放器业务逻辑设计 419
11.5运行效果演示 430
11.6本章小结 433
第12章 在线五子棋系统模块 435
12.1需求分析与设计 435
12.1.1需求分析 435
12.1.2模块设计 436
12.2五子棋规则类设计 436
12.2.1胜负判定类 437
12.2.2行棋规则类 440
12.3基于TCP协议的通信类 443
12.4网络配置模块 447
12.4.1网络配置模块的 界面设计 447
12.4.2网络配置模块的 代码设计 447
12.5扫描主机模块 448
12.5.1扫描主机模块的 界面设计 449
12.5.2扫描主机模块的 代码设计 449
12.6主界面模块 454
12.6.1主界面模块的界面设计 454
12.6.2主界面模块的代码设计 454
12.7运行界面 462
12.8本章小结 464
第13章 基于HTTP协议的 下载工具 465
13.1 HTTP协议 465
13.1.1 HTTP下载理论 466
13.1.2 .NET的几个支持 HTTP协议的类 467
13.2异步机制 471
13.2.1异步机制的原理 471
13.2.2异步类 471
13.3下载工具的设计 472
13.3.1需求设计 472
13.3.2模块设计 473
13.3.3界面设计 474
13.3.4业务逻辑设计 475
13.4运行效果演示 489
13.5本章小结 491