Visual C#网络编程技术与实践

当前位置:首页 > 网络编程 > 编程语言与程序设计 > Visual C#网络编程技术与实践

出版社:清华大学
出版日期:2008-6
ISBN:9787302175209
作者:梅晓冬//颜烨青
页数:491页

章节摘录

  第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 网络通信协议、接口和服务概述  在网络领域,所谓协议,就是指一套大家都公认的通信规则。不同的协议是工作在不同的层上的,而层与层之问则通常用接口来描述。  服务是指具体完成的工作,这里是抽象的概括。

前言

  MicrosoftVisualC#2005是一种新的编程环境,它是为生成在.NETFramework上运行的多种应用程序而设计的。C#简单,功能强大,类型安全,而且是面向对象的。C#凭借它的许多创新实现了对应用程序的快速开发。  VisualStudio支持VisualC#,这是通过功能齐全的代码编辑器、项目模板、设计器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。通过.NETFramework类库,可以访问多种操作系统服务和其他有用的精心设计的类,这些类可显著加快开发周期。  本书大量地使用了.NETFramework提供的类库中的函数来协同开发,通过使用这些已经被封装的类来协助开发确实提高了不少效率,为开发工作带来了诸多的便利。  本书共分13章,第1章介绍了利用VisualC#2005提供的网络命名空间下的诸多API进行套接字的开发,并对网络编程的原理进行了详细的阐述,为后续的章节奠定了基础。  第2章介绍了具有多线程能力的网络应用程序,这使得用户开发的程序能够适应更加复杂的情况。  第3章~第8章是本书的重要部分,主要介绍基于各种不同协议的网络编程应用模块。第3章介绍了基于TCP协议的聊天程序;第4章介绍了基于UDP的通信程序;第5章介绍了使用SNMP协议的网络管理程序;第6章介绍了使用SMTP以及POP3协议的E-mail系统;第7章介绍了基于FTP的文件传输模块;第8章介绍了使用ICMP协议的网络探测程序。  第9章介绍了基于WebService的电子公告板系统,并结合采用了SQLServer2005数据库;第10章介绍了使用远程控制技术的应用程序;第11章则介绍了流媒体在线播放系统。  第12章介绍了基于TCP通信协议的在线五子棋系统;第13章主要介绍了基于HTTP协议的下载工具,该工具具有多线程下载、断点续传的功能。  本书注重理论指导性和工程实践性,书中提供的各个网络应用程序只要稍加修改就可以为读者所用。本书不仅适用于使用VisualC#2005进行软件开发的广大软件开发人员,也适合高等院校师生学习和参考使用,特别对高校计算机专业的学生进行毕业设计具有非常好的指导价值,也可以作为广大计算机编程爱好者的自学、参考用书。  本书主要由梅晓冬、颜烨青执笔,在编写本书程序的过程中,得到了陈璧元的大力支持,在此表示衷心的感谢。此外,还要感谢杨文军、程伟、袁远、刘武、彭澜、李通、李杰、卢茂琼、张燕生、胡燕生、邓湘成、卢下知、王周浩、邱岳、刘流、代本、刘明星、孙靖华等人,他们在本书编写过程中给予了我鼓励和支持。  由于时间仓促,加之水平有限,书中不足之处在所难免,敬请读者批评指正。

书籍目录

第1章  C#.NET网络编程概述/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#.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.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#.NET的网络管理模块/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  主页面与登录相关的Web Service数据访问模块/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

编辑推荐

  《网络编程系列丛书·Visua C#网络编程技术与实践》注重代码的通用性和工程实践性,书中提供的通用模块和典型实例稍加修改就可以为读者所用。  《网络编程系列丛书·Visua C#网络编程技术与实践》不仅适用于使用Visual C# 2005进行软件开发的广大软件开发人员,也适合高等院校师生学习和参考使用,特别对高校计算机专业的学生进行毕业设计具有非常好的指导价值,也可以作为广大计算机编程爱好者的自学参考书。

作者简介

《网络编程系列丛书·Visua C#网络编程技术与实践》利用isualC#2005进行网络编程的方法和技巧。全书共分13章,主要内容包括网络编程原理、VisualC#2005的套接字以及多线程的开发、基于各种不同协议的网络编程应用模块,并通过几个典型的实例介绍了VisualC#2005网络编程的实际应用。

图书封面


 Visual C#网络编程技术与实践下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024