内容简介:
本书详细介绍了利用VisualC#2005进行网络编程的方法和技巧。全书共分13章,主要内容包括网络编程原理、VisualC#2005的套接字以及多线程的开发、基于各种不同协议的网络编程应用模块,并通过几个典型的实例介绍了VisualC#2005网络编程的实际应用。
本书注重代码的通用性和工程实践性,书中提供的通用模块和典型实例稍加修改就可以为读者所用。
本书不仅适用于使用VisualC#2005进行软件开发的广大软件开发人员,也适合高等院校师生学习和参考使用,特别对高校计算机专业的学生进行毕业设计具有非常好的指导价值,也可以作为广大计算机编程爱好者的自学参考书。
目录:
第1章C#.NET网络编程概述/1
1.1网络通信概述/1
1.1.1网络通信模型概述/1
1.1.2网络通信协议、接口和服务概述/2
1.1.3TCP/IP网络架构概述/4
1.1.4IP地址与端口/6
1.2C#.NET网络编程相关类/9
1.2.1IPAddress类/9
1.2.2DNS类/13
1.2.3IPHostEntry类/16
1.2.4IPEndPoint类/19
1.2.5Socket类/21
1.3套接字概述/21
1.3.1套接字的类型和常用属性/22
1.3.2建立面向连接的套接字/24
1.3.3建立面向无连接的套接字/25
1.4使用套接字的简单示例/26
1.4.1C/S与B/S架构通信模式概述/27
1.4.2编写客户端代码/28
1.4.3编写服务器端代码/30
1.4.4无阻塞套接字/32
1.5本章小结/33
第2章C#.NET高级网络编程技术概述/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.3TCP无保护消息边界/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.2NetworkStream对象同数据发送与接收/59
3.1.3TcpClient与TcpListener类/62
3.1.4使用TCP/IP协议编写应用层的通信代码/64
3.2开发异步的TCP应用编程/67
3.2.1TCP的异步通信流程/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.1UDP通信协议概述/97
4.1.1UDP协议与TCP协议的差别/97
4.1.2UDP协议的使用场合/99
4.2在C#下UDP协议的相关类/100
4.2.1IPAddress类/100
4.2.2UdpClient类的构造函数/101
4.2.3UdpClient类的常用方法与实例/102
4.3UDP协议使用示例/105
4.3.1UDP模块功能概述/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.1SNMP协议概述/125
5.1.1了解SNMP协议/125
5.1.2SNMP的常用命令/128
5.1.3设计SNMP包/130
5.2SNMP协议使用示例/134
5.2.1需求分析与设计/134
5.2.2设计程序流程/136
5.2.3程序窗口界面设计/137
5.2.4SNMP类编写/138
5.2.5SNMP程序窗口类编写/147
5.3运行效果演示/156
5.4使用供货商提供的MIB库/158
5.5本章小结/159
第6章使用.NET发送邮件/161
6.1邮件发送与接收协议概述/161
6.1.1SMTP协议与邮件发送/162
6.1.2POP3协议与邮件接收/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.1FTP协议概述/205
7.1.1使用FTP协议下载文件的流程/206
7.1.2相关类库说明/207
7.2FTP客户端设计/210
7.2.1需求分析/211
7.2.2界面设计/211
7.2.3业务逻辑设计/213
7.3FTP服务器端设计/224
7.3.1需求分析/224
7.3.2FTP响应码/225
7.3.3业务逻辑设计/233
7.4运行界面/268
7.5本章小结/269
第8章基于C#.NET的网络管理模块/271
8.1ICMP协议概述/271
8.1.1ping命令/271
8.1.2tracert命令/273
8.2ICMP包/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的WebService/307
9.1WebService概述/307
9.1.1Web服务基本概念/307
9.1.2Web服务的优势/308
9.1.3Web服务的架构/309
9.2需求分析与设计/310
9.2.1需求分析/310
9.2.2文件功能设计/311
9.2.3数据库设计/311
9.3编写WebService服务系统/314
9.3.1构建WebService/314
9.3.2编写Web服务代码/316
9.3.3主页面与登录相关的WebService数据访问模块/316
9.3.4发表主题相关的WebService访问模块/321
9.3.5投票相关的WebService访问模块/328
9.3.6管理相关的WebService访问模块/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.2DirectShow接口/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.1HTTP协议/465
13.1.1HTTP下载理论/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