Visual C#网络编程技术与实践(配光盘)(网络编程系列丛书)
分類: 图书,计算机/网络,程序设计,C C++ C# VC VC++,
作者: 梅晓冬,颜烨青编著
出 版 社: 清华大学出版社
出版时间: 2008-6-1字数: 722000版次: 1页数: 491印刷时间: 2008/06/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787302175209包装: 平装编辑推荐
书附光盘中给出案例源代码、案例开发和运行过程的全程多媒体讲解视频。
内容简介
本书详细介绍了利用Visual C# 2005进行网络编程的方法和技巧。全书共分13章,主要内容包括网络编程原理、Visual C# 2005的套接字以及多线程的开发、基于各种不同协议的网络编程应用模块,并通过几个典型的实例介绍了Visual C# 2005网络编程的实际应用。
本书注重代码的通用性和工程实践性,书中提供的通用模块和典型实例稍加修改就可以为读者所用。
本书不仅适用于使用Visual C# 2005进行软件开发的广大软件开发人员,也适合高等院校师生学习和参考使用,特别对高校计算机专业的学生进行毕业设计具有非常好的指导价值,也可以作为广大计算机编程爱好者的自学参考书。
目录
第1章 C#.NET网络编程概述
1.1 网络通信概述
1.1.1 网络通信模型概述
1.1.2 网络通信协议、接口和服务概述
1.1.3 TCP/IP网络架构概述
1.1.4 IP地址与端口
1.2 C#.NET网络编程相关类
1.2.1 IPAddress类
1.2.2 DNS类
1.2.3 IPHostEntry类
1.2.4 IPEndPoint类
1.2.5 Socket类
1.3 套接字概述
1.3.1 套接字的类型和常用属性
1.3.2 建立面向连接的套接字
1.3.3 建立面向无连接的套接字
1.4 使用套接字的简单示例
1.4.1 C/S与B/S架构通信模式概述
1.4.2 编写客户端代码
1.4.3 编写服务器端代码
1.4.4 无阻塞套接字
1.5 本章小结
第2章 C#.NET高级网络编程技术概述
2.1线程与网络通信
2.1.1基于线程的网络通信概述
2.1.2在网络编程中使用多线程
2.1.3线程基础
2.1.4 多线程在网络编程中的应用
2.2 网络通信的常见问题
2.2.1让网络通信代码更强壮
2.2.2 数据缓冲区处理方法
2.3 TCP无保护消息边界
2.3.1 发送固定长度的消息
2.3.2 采用变长的消息
2.3.3 使用特殊标记处理消息
2.4 本章小结
第3章 开发基于TCP协议的应用程序
3.1套接字与TCP协议
3.1.1使用套接字传输数据
3.1.2NetworkStream对象同数据发送与接收
3.1.3TcpClient与TcpListener类
3.1.4 使用TCP/IP协议编写应用层的通信代码
3.2 开发异步的TCP应用编程
3.2.1TCP的异步通信流程
3.2.2 线程阻塞与异步中的同步问题
3.3 开发异步的TCP聊天程序
3.3.1 客户端界面设计
3.3.2 客户端业务逻辑设计
3.3.3 服务器端界面设计
3.3.4 服务器端业务逻辑设计
3.3.5 运行界面
3.4 本章小结
第4章 开发基于UDP的应用程序
4.1UDP通信协议概述
4.1.1UDP协议与TCP协议的差别
4.1.2UDP协议的使用场合
4.2 在C#下UDP协议的相关类
4.2.1 IPAddress类
4.2.2 UdpClient类的构造函数
4.2.3 UdpClient类的常用方法与实例
4.3UDP协议使用示例
4.3.1 UDP模块功能概述
4.3.2 设计通信流程
4.3.3 开发服务器端程序
4.3.4 开发客户端程序
4.3.5 使用多线程开发UDP协议
4.3.6 使用校验保证信息完整性
4.3.7 效果演示
4.4 本章小结
第5章 开发基于SNMP协议的应用程序
5.1SNMP协议概述
5.1.1 了解SNMP协议
5.1.2 SNMP的常用命令
5.1.3 设计SNMP包
5.2SNMP协议使用示例
5.2.1 需求分析与设计
5.2.2 设计程序流程
5.2.3 程序窗口界面设计
5.2.4 SNMP类编写
5.2.5 SNMP程序窗口类编写
5.3 运行效果演示
5.4 使用供货商提供的MIB库
5.5 本章小结
第6章 使用.NET发送邮件
6.1邮件发送与接收协议概述
6.1.1SMTP协议与邮件发送
6.1.2POP3协议与邮件接收
6.1.3.NET下支持SMTP和POP3的类
6.2邮件发送与接收模块
6.2.1 需求分析与设计
6.2.2 设计邮件发送和接收的流程
6.2.3 界面设计
6.2.4 编写主窗口的业务逻辑
6.2.5 编写发送邮件的业务逻辑
6.2.6 编写接收邮件的业务逻辑
6.2.7 使用多线程发送与接收邮件
6.3运行效果演示
6.4 本章小结
第7章 FTP下载与文件传输
7.1 FTP协议概述
7.1.1 使用FTP协议下载文件的流程
7.1.2 相关类库说明
7.2 FTP客户端设计
7.2.1 需求分析
7.2.2 界面设计
7.2.3 业务逻辑设计
7.3 FTP服务器端设计
7.3.1 需求分析
7.3.2 FTP响应码
7.3.3 业务逻辑设计
7.4 运行界面
7.5 本章小结
第8章 基于C#.NET的网络管理模块
8.1 ICMP协议概述
8.1.1 ping命令
8.1.2 tracert命令
8.2 ICMP包
8.3 编写网络管理模块
8.3.1 需求分析
8.3.2 界面设计
8.3.3 编写核心icmp类的业务逻辑
8.3.4 编写具有ping功能的业务逻辑
8.3.5 编写具有tracert功能的业务逻辑
8.3.6 编写findmask功能的业务逻辑
8.3.7 编写时间戳功能的业务逻辑
8.4 运行界面
8.5 本章小结
第9章 编写基于.NET的Web Service
9.1 Web Service概述
9.1.1 Web服务基本概念
9.1.2 Web服务的优势
9.1.3 Web服务的架构
9.2 需求分析与设计
9.2.1 需求分析
9.2.2 文件功能设计
9.2.3 数据库设计
9.3 编写Web Service服务系统
9.3.1 构建Web Service
9.3.2 编写Web服务代码
9.3.3 主页面与登录相关的WebService数据访问模块
9.3.4 发表主题相关的Web Service访问模块
9.3.5 投票相关的Web Service访问模块
9.3.6 管理相关的Web Service访问模块
9.4 主页面与登录模块
9.4.1 界面设计
9.4.2 编写业务逻辑
9.5 发表主题模块
9.5.1 界面设计
9.5.2 编写业务逻辑
9.6 投票模块
9.6.1 界面设计
9.6.2 编写业务逻辑
9.7 管理模块
9.7.1 界面设计
9.7.2 编写业务逻辑
9.8 本章小结
第10章 基于.NET的远程技术
10.1 远程技术概述
10.1.1 远程技术开发结构
10.1.2 远程技术使用
10.2 远程控制开发客户端的设计
10.2.1 界面设计与控件使用
10.2.2 客户端的代码设计
10.3 远程控制开发服务器端的设计
10.3.1 界面设计与控件使用
10.3.2 服务器端的代码设计
10.4 运行效果演示
10.5 本章小结
第11章 流媒体在线播放
11.1 需求分析与设计
11.1.1 需求分析
11.1.2 模块设计
11.1.3 数据库设计
11.2 DirectShow接口
11.2.1 滤波图模型
11.2.2 如何使用DirectShow接口
11.2.3 流媒体在线播放相关接口
11.3 流媒体协议
11.3.1 实时传输协议(RTP)
11.3.2 实时传输控制协议(RTCP)
11.3.3 实时流传输协议(RTSP)
11.3.4 流媒体服务过程
11.4 建立.NET的窗体项目
11.4.1 主窗口界面设计
11.4.2 收藏夹数据库相关业务逻辑设计
11.4.3 流媒体在线播放器业务逻辑设计
11.5 运行效果演示
11.6 本章小结
第12章 在线五子棋系统模块
12.1 需求分析与设计
12.1.1 需求分析
12.1.2 模块设计
12.2 五子棋规则类设计
12.2.1 胜负判定类
12.2.2 行棋规则类
12.3 基于TCP协议的通信类
12.4 网络配置模块
12.4.1 网络配置模块的界面设计
12.4.2 网络配置模块的代码设计
12.5 扫描主机模块
12.5.1 扫描主机模块的界面设计
12.5.2 扫描主机模块的代码设计
12.6 主界面模块
12.6.1 主界面模块的界面设计
12.6.2 主界面模块的代码设计
12.7 运行界面
12.8 本章小结
第13章 基于HTTP协议的下载工具
13.1 HTTP协议
13.1.1 HTTP下载理论
13.1.2 .NET的几个支持HTTP协议的类
13.2 异步机制
13.2.1 异步机制的原理
13.2.2 异步类
13.3 下载工具的设计
13.3.1 需求设计
13.3.2 模块设计
13.3.3 界面设计
13.3.4 业务逻辑设计
13.4 运行效果演示
13.5 本章小结
书摘插图
第1章 C#.NET网络编程概述
本书着重深入讲解C#.NET语言的各种网络编程开发技术。C#是基于.NET开发平台的语言。因为它是从C语言衍生来的,所以从类库的角度来分析,它支持的功能非常强大,此外,这种语言又像VB一样简单。
不仅如此,对于网络编程开发来说它很像Java,它还有很多Delphi的特点。微软也声称,C#是编写.NET Framework应用程序最合适的语言。
同时,C#语言的网络开发功能比较强大,可以用它来构建一些复杂的基于网络的应用程序。
1.网络通信概述
为了网络通信的需要,人们往往要对通信模型做一定的分析。在此基础上,提出了各种参考模型的概念,一般的参考模型有OSl模型和TCP/IP模型。
其中OSI模型是国际标准化组织提出的网络通信模型,而事实上,目前采用的是基于TCP/IP模型的网络通信方式。
1.1 网络通信模型概述
网络通信模型设计的总体目标是向“简单明了”和“实用化”发展。为了降低网络设计的复杂性,绝大多数的网络都形成了一堆相互层叠的通信层,每一层都建立在其下面一层的基础上。
不同的网络系统设计中,其层的数目、各层的功能、含义也不尽相同。每一层的目的就是向上一个层提供一定的需求服务,而上一层不需要了解下一层如何实现这些服务,即每一层的操作实现步骤对上一层是屏蔽的。
可以把每一层想象成一台提供服务的功能机,它能向上一层提供特定的服务。这个概念的基本思想形同计算机领域的一些术语,如信息隐藏、抽象数据类型、数据封装等。
1.2 网络通信协议、接口和服务概述
在网络领域,所谓协议,就是指一套大家都公认的通信规则。不同的协议是工作在不同的层上的,而层与层之问则通常用接口来描述。
服务是指具体完成的工作,这里是抽象的概括。
……