基于P2P架构的简单聊天程序的设计与实现(论文).doc
《基于P2P架构的简单聊天程序的设计与实现(论文).doc》由会员分享,可在线阅读,更多相关《基于P2P架构的简单聊天程序的设计与实现(论文).doc(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于P2P架构的简单聊天程序的设计与实现摘 要在当今网络风行的社会里,上网成为越来越多人们的选择。随着互联网的飞速发展,有关网络的技术也层出不穷。现今活跃在WEB站点中的ASP.NET就是近年才发展起来的一项新型技术。ASP.NET功能强大、本领高强,利用ASP.NET功能时几乎没有什么限制,可以实现动态页面。毕业设计我尝试用来实现聊天工具的开发,于是就有了下面的 ChatRoom。本论文研究了一种基于P2P架构的聊天程序的设计与实现。其开发主要包括后台数据库的建立、后台管理以及前台页面的Web设计。系统使用Microsoft公司以C#为核心语言的ASP.NET开发工具,结合SQL Serve
2、r 2005建立数据连接关系。利用其提供的各种组件,在短时间内建立数据库,对数据库进行分析与建立ASP.NET页面,不断改进,直到功能基本实现的可行系统。关键词 聊天程序;数据库;对象;C#;SQL Server 2005Design And Implementation Of A Simple Chat Program Based On P2P ArchitectureAbstractThe Internet become more and more peoples choices in todays network society. With the rapid development o
3、f Internet, network technology are endless. Active in the ASP.NET web site is only in recent years developed a new technology of the day. There is little restriction in the use of ASP.NET features, can achieve a dynamic page. So there is the following ChatRoom. This paper based on P2P architecture c
4、hat program of design and implementation. Its development mainly include the establishment of the database, background management and the front desk page Web design. Use Microsoft company with C# system as the core of language development tools, combined with SQL Server 2005 establish data connectio
5、n relationship. Use the various components, in a short time, the establishment of database of database, the analysis and establish page, improving continuously, until the realization of basic functions feasible system. Keywords Chat rooms;Database;Object;C #;The SQL Server 200553目 录第一章绪论11.1 引言11.2
6、ASP.NET11.2.1 ASP.NET特点21.2.2 ASP.NET与ASP的区别31.3 SQL Server 2005的介绍41.3.1 SQL2005 Server的优势41.2.2 SQL Server 2005 与SQL Server 2000 的区别5第2章 P2P的简介7第3章 C#简介93.1 C#简介93.2 C#的特点103.2.1 C#从Java继承而来的特点103.2.2 C#从C和C+继承的特点113.2.3 C#独有的特点11第4章 系统配置13第5章 TCP应用编程155.1 TCP协议的基础知识155.2 TCP最主要的特点155.3 利用TCP开发应用程
7、序时,.NET框架提供两种工作方式155.4 异步TCP应用编程16第6章 ASP.NET技术对聊天程序开发实例176.1聊天程序功能说明176.2 聊天程序简介 ChatRoom176.3 ASP.NET的总体设计176.3.1 聊天程序的系统功能设计176.3.2 聊天程序的数据表的建立18第7章 软件实现197.1 L设计说明197.2 文件上传设计说明217.3 用户下载设计227.4 聊天界面设计247.5 用户个性输入字体设计257.6 用户表情设计26第8章 调试与维护278.1 系统调试278.2 系统维护29结 论31致 谢32参 考 文 献33附录A 译文34ASP.NET
8、 概述34附录B 外文原文43第一章 绪论1.1 引言随着Internet在中国的迅速发展,人们日常生活中越来越多地使用这项新的技术来为自己的工作和学习服务。在众多Internet关联功能中,有一项新的业务正成为所有用户所津津乐道的交流方式,这就是网上聊天。根据调查现在网民使用现状,网上聊天程序的使用百分比高居榜首。所谓聊天程序就是一个可以让许多用户同时互相通信的网上园地,个人用户可以通过网上聊天程序将自己融入整个主流社会中。由于目前上网的一般都是具有高学历的新一代创业者,因此,在网上聊天程序这个虚拟的社会中,可以结交各层次各地方的朋友,从而为自己获取更多的知识和更多的阅历。由于Web技术的飞
9、速发展,人们对网页的要求再也不是局限于简单的、静止的Web页,而是一种根据用户要求控制Web页信息的“活动”页面。所谓Web是交互式的,主要表现在用户能向Web站点发送信息或命令,从而对Web服务器上运行的应用程序进行控制,服务器则根据相应的命令对使用者的操作做出响应。在这种需求的推动下,微软公司推出了“活动服务器页”(ASP.NET,Active Server Pages)。本设计所制作的网络聊天程序也采用了ASP.NET技术。1.2 ASP.NET ASP.NET技术:ASP.NET(Active Server Page)中文字面理解即是活动的服务器页面。它与普通的HTML页面的区别在于当
10、某人请求一个普通的HTML网页时,Web服务器并不注意文件的内容。Web服务器担当的角色只是取出文件而并不处理文件。所有对文件内容的解释工作均由用户的Web浏览器来完成。但是当某人请求一个ASP.NET网页的时候,Web浏览器担任的是一个较活跃的角色。在文件被发送到用户的Web浏览器之前,它首先要由Web服务器进行处理。Web服务器先对ASP.NET网页中的所有脚本解释和执行,再将它发送到用户的Web服务器。ASP.NET是建立在.NET Framework基础之上的程序设计框架,它用来创建Web应用程序。ASP.NET Web窗体是ASP.NET Web应用程序的一部分,它为创建动态Web站
11、点提供了简易的方法。ASP.NET也包括创建XML Web Service的必要技术,它提供组建来创建基于Web的分布式应用程序。在ASP.NET中,可以使用Request、Response、Application、Session和Server对象,以及它们一些新的属性和方法。也可以使用块,或者ASP脚本分隔符来表示服务器端的脚本。编写ASP.NET页的方法与编写ASP页的方法相同。1.2.1 ASP.NET特点ASP.NET的新特性:(1) Web窗体Web窗体是ASP.NET新的程序设计模式。Web窗体结合了ASP简易开发VB高效率的优点,可以把控件拖放到页面上,然后就可以编写代码(在代码
12、隐藏页中)来提供交互、调用业务对象和执行其他任务。(2) 服务器控件服务器控件是Web窗体程序设计模型的主要组件。ASP.NET服务控件(增加了一些额外的控件)近似地映射为HTML元素,并可提供强大的服务器端编程能力。服务器控件运行在服务器上,输出HTML,这些HTML可被高版本浏览器(如Internet Explorer 5.x及其更高版本)或任何支持HTML3.2的浏览器所支持。(3) Web服务Web服务是ASP.NET的关键部分,它允许创建可编程的服务,这些服务对于Internet或本地局域网上的其他开发人员是可用的。Web服务是基于显出的SOAP标准,因为它们允许在不同的平台间相互使
13、用。(4) 高速缓存ASP.NET中包含一个功能强大的新的高速缓存引擎,它减少了Web服务器和数据库服务器处理的负载,从而改进了应用程序的执行性能。(5) 配置的改进ASP.NET使用新的方法为Web应用程序存储配置信息。与IIS将这些信息存储在很难访问的数据库中不同,ASP.NET将这些信息存储在人和机器都易读的基于XML的配置文件中。ASP.NET Web应用程序包含不同的部分和组件,别是:(1) Web窗体(或.aspx页)Web窗体和.aspx页为Web应用程序提高用户接口。(2) 代码隐藏页代码隐藏页是和Web窗体关联在一起的,它包含Web窗体的服务器端代码。(3) 配置文件配置文件
14、是为Web应用程序和Web服务器定义了默认设计的XML文件。每个Web应用程序都有一个Web.config配置文件。另外,每个服务器也都有一个Machine.config文件。(4) Global.asax文件Global.asax文件包含对由ASP.NET引发的应用程序级事件做出响应的必要代码。(5) XML Web Service链接XML Web Service链接允许Web应用程序使用XML Web Service发送和接受数据。(6) 数据库连接数据库连接允许Web应用程序与数据库资源之间传递数据。(7) 高速缓存高速缓存可使Web应用程序在第一次请求之后更快地返回Web窗体和数据。
15、1.2.2 ASP.NET与ASP的区别(1) 效率ASP是一个脚本编程环境,只能用VBScript或者JavaScript这样的非模块化语言来编写。当ASP程序完成之后,在每次请求的时候解释执行。这就意味着它在使用其他语言编写的大量组件的时候会遇到困难,并且无法实现对操作系统的底层操作。由于它是解释执行的,所以速度和效率要远远低于编译执行的程序。而ASP.NET则是建立在.NET Framework之上的,它可以使用Visual Basic、C+这样的模块化程序设计语言,并且它在第一次执行时进行了编译,之后的执行不需要重新编译就可以直接运行,所以速度和效率比ASP会提高很多。(2) 可重用性
16、在写ASP应用程序的时候,ASP代码和HTML混合在一起。只要有需要,就可以在任意的一个位置插入一段代码来实现特定的功能。这种方法表面上看起来很方便,但在实际的工作中会产生大量繁琐的页面,很难读懂,导致代码维护很困难。虽然可以使用include指令尽量让程序模块化,但是仍然不是一个最终彻底的解决方案。而ASP.NET则可以实现代码和内容的完全分离,使得前面提到的问题迎刃而解。(3) 代码量ASP需要对所有的要实现的功能通过编写代码来实现。例如,所有的ASP程序员都遇到过这样的情况:为了保证一个用户数据提交页面的友好性,当用户输入错误的时候会显示错误的位置,并尽量把用户原来的输入在控件中显示出来
17、。这样的一个应用需要程序员编写大量的代码来实现。虽然它实在是一个非常简单的功能,但在其他的应用程序中根本不需要编写这么多的代码就可以实现。在ASP.NET中,程序员会发现只要预先说明,这样的功能ASP.NET就可以自动实现。所以相对来说,要实现同样的功能,使用ASP.NET比使用ASP的代码量要小得多。1.3 SQL Server 2005的介绍在此软件开发过程中,使用SQL Server 2005作为后台数据库。1.3.1 SQL2005 Server的优势 SQL Server 2005 数据平台为不同规模的组织提供了以下好处,见图表:表1-1 SQL Server 2005优势优势说明充
18、分利用数据资源SQL Server 2005 为业务线和分析应用程序提供一个安全可靠的数据库。同时,也使用户能够通过嵌入的功能,如报表分析和数据挖掘等从他们的数据中得到跟多的价值。提高生产力通过全面的商业智能功能,和熟悉的微软Office系统之类的工具集成,SQL Server 2005为组织内信息工作者提供了关键的、及时的商业信息以满足他们特定的需求。较少IT复杂度SQL Server 2005简化了开发、部署、管理业务线和分析应用程序的复杂度,它为开发人员提供了一个灵活的开发环境,为数据库管理人员提供了一个集成的自动管理工具。更低的总体拥有成本对产品易用性和部署上的关注以及集成的工具提供了
19、工业上最低的规划、实现和维护成本,使数据库投资能快速得到回报。1.2.2 SQL Server 2005 与SQL Server 2000 的区别Microsoft SQL Server 2005 扩展了 SQL Server 2000 的性能、可靠性、可用性、可编程性和易用性。SQL Server 2005 包含了多项新功能,这使它成为大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。基于SQL Server 2000 技术优势构建的SQL Server解决方案,可帮助任何规模的组织机构完成以下的功能,如图2.2 SQL Server 2005的集成化信息管理:SQ
20、L Server 2005的集成化信息管理解决方案降低数据库应用创建、部署与管理的复杂程度,进而实现IT效率最大化实现功能强劲的集成化商务智能解决方案,在整个企业范围内推荐科学解决,提高工作效率凭借可创建更具安全保障之数据库应用的丰富、灵活。现代化开发环境增强开发人员工作效能跨越多种平台、应用和设备实现数据共享,进而简化内部系统与外部系统连接创建并部署更具伸缩性、可靠性和安全性的企业级应用在不必牺牲性能表现、可用性或伸缩性的前提下控制成本费用水平图1-1 SQL Server 2005的集成化信息管理Microsoft SQL Server 2005 扩展了 SQL Server 2000 的
21、性能、可靠性、可用性、可编程性和易用性。SQL Server 2005 包含了多项新功能,这使它成为大规模联机事务处理 (OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。SQL Server 2005新增强的功能主要包括以下几个方面:增强的报表服务新增的Service Broker 技术增强的数据库引擎增强的数据访问接口增强的分析服务增强的集成服务增强的数据复制服务改进的开发工具 第2章 P2P的简介P2P是英文Peer-to-Peer(对等)的简称,又被称为“点对点”。“对等”技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。P2P还是
22、英文Point to Point (点对点)的简称。它是下载术语,意思是在你自己下载的同时,自己的电脑还要继续作为主机上传,这种下载方式,使用人数越多速度越快,但缺点是对硬盘损伤比较大(在写的同时还要读),还有对内存占用较多,影响整机速度。简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。P2P另一个重要特点是改变互联网现在的以P2P 工作组态网站为中心的状态、重返“非中心化”,并把权力交还给用户。 P2P看起来似乎很新
23、,但是正如B2C、B2B是将现实世界中很平常的东西移植到互联网上一样,P2P并不是什么新东西。在现实生活中我们每天都按照P2P模式面对面地或者通过电话交流和沟通。互联网能够发展至今,根本原因在于其布建的任何一根血脉都是为人与人之间的交流而设置的。而现在能够引起互联网震动的,无非也只有交流方式的变革本身。 如今,在基于网络的各种技术充斥于我们周围之时,恐怕只有很少人不知道P2P的概念了,即便您没有深入探究,但您每日在互联网间进行的活动几乎没有不沾P2P技术的。一个简单的例子,在你使用QQ尽情聊天之时,实际上就享受着P2P技术给你带来的快感与兴奋。P2P技术究竟意味着什么呢?关于P2P技术的两种解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 P2P 架构 简单 聊天 程序 设计 实现 论文
限制150内