聊天软件论文 .doc
《聊天软件论文 .doc》由会员分享,可在线阅读,更多相关《聊天软件论文 .doc(41页珍藏版)》请在沃文网上搜索。
1、2008届软件工程专业毕业设计(论文)毕业设计(论文)题 目 局域网聊天软件 专 业 软件工程 班 级 软件041班 学 生 指导教师 2008 年摘 要随着计算机科学和Internet 的飞速发展, 网上聊天已成为人们相互交流的一种方式, 与E-mail、电话相比, 聊天服务更具有实时性和有效性。本论文提出一个运行于.NET平台上的局域网聊天软件的解决方案。该聊天软件包括服务器端和客户端两个模块,客户端通过服务器端进行通信。服务器端模块主要实现了服务器的配置和数据的传递;客户端模块主要实现了用户注册、登录、文字聊天等功能。该软件采用多线程技术支持多用户操作,并采用相关技术进行了优化,加快了文
2、字传递速度。 该软件能够帮助企业在局域网内搭建起自己的聊天系统,避免企业内部员工使用类似QQ等软件泄露内部信息,但是该软件只实现了聊天的基本功能,还有很多不足之处需要改进。【关键字】:局域网,聊天软件,.netABSTRACTAlong with the high-speed development of the computer science and Internet, chatting on line has been an important method in our communication. Comparing with E-mail and telephone, the ch
3、at-line service is more real-time and effective.This thesis proposes a solution of a LAN chatting software based on C# language, which is operated on the .NET platform. This chatting software includes two modules: the server and the client, which can communicate with each other. The server module ma
4、inly completes the sever devices configuration. The client module mainly completes the users login, registration, instant messaging and so on. This software uses the multithreading technical support multi-users operation, and uses the correlation technique to carry on the optimization to speed up th
5、e writing transmission speed. This software can help the company to build their own chatting system in the local area network, and it also can avoid the staff of the company disclosing the insider information by using the other software such as QQ, but this software has only completed the basic func
6、tion as a chatting system, so it need much more improvement.【Key words】:LAN, chatting software, .net目 录前 言- 5 -第1章概述- 6 -1.1 课题背景及意义- 6 -1.2 课题现状- 7 -1.3 课题内容与目标- 7 -第2章系统开发环境和关键技术- 8 -2.1 开发环境- 8 -2.2 关键技术- 8 -2.2.1 .NET Framework和C#- 8 -2.2.2 SQL Server 2000- 9 -2.2.3 WINDOWS SOCKETS网络编程接口- 10 -2.
7、2.4 多线程开发技术- 11 -2.2.5 TCP/IP协议、UDP协议- 11 -2.2.6 Client/Server结构(客户机/服务器模式)- 13 -第3章系统分析与设计- 14 -3.1 系统分析- 14 -3.1.1 系统需求- 14 -3.1.2 需求分析- 15 -3.2 系统设计- 17 -3.2.1 设计原则- 17 -3.2.2 架构设计- 18 -3.2.3 工作流程- 21 -3.2.4 功能设计- 21 -3.2.5 数据库设计- 22 -第4章系统实现- 26 -4.1 服务器端设计实现- 26 -4.1.1 服务器端工作流程图- 26 -4.1.2 服务器主
8、界面- 27 -4.1.3 服务器的配置- 27 -4.1.4 服务器的开启- 28 -4.2 客户端设计实现- 29 -4.2.1 客户端工作流程图- 29 -4.2.2 客户端登陆主界面- 30 -4.2.3 注册- 30 -4.2.4 登陆- 31 -4.2.5 文字传送- 32 -4.2.6 添加好友- 33 -4.3 系统功能特点- 33 -第5章难点及对策- 34 -6.1 在C#中处理Socket网络异常断开的方法- 34 -6.2 .NET中多线程的同步资源访问- 35 -6.3 用C#操纵XML文档- 36 -总结及展望- 37 -致谢- 39 -参考文献- 40 -前 言随
9、着电脑和互联网的普及,网络聊天已经成为人们工作生活中传递信息、交流感情的重要工具。网络版的聊天软件种类繁多,如QQ、OICQ、MSN等,实现了随时随地上网聊天,给人们带来了很大的方便。但是这些聊天软件也存在以下不足:用户必须连接Internet;用户再工作时容易沉迷于网络聊天。为了方便单位企业内部的信息交流,减少不必要的财力和人力资源浪费,开发一个局域网聊天软件是非常必要的。现在,多渠道的信息源、网络化的数据分布、快捷医用的交互操作、智能化的分析决策等特点越来越成为衡量有两聊天软件的关键,因此,本人开发一个局域网聊天软件,该聊天软件是基于C#语言运行于.NET平台上,利用的技术主要是Socke
10、t通信和多线程技术,使用SQL Server 2000作为后台数据库管理。为实现和方便客户端间通信,在客户端进行了人性化的界面设计,用户可以注册号码,登陆界面时可选择是否保存密码,具有好友上线提示功能,部分按钮和收发消息时均有声音提示。第1章对本次课题的背景及意义、课题现状、课题内容与目标进行了深入的阐述。第 2 章介绍了系统的开发环境和关键技术,例如Socket编程技术,多线程开发技术等。第 3 章是系统分析与设计。将对系统进行需求分析,对组成系统的功能模块进行划分,对每个模块将要实现的功能进行阐述和说明。对系统的结构进行设计,设计数据库。第4章是系统实现,分别介绍了服务器端和客户端每个功能
11、的执行过程,画出两个模块的流程图。第 5 章介绍系统开发中遇到的难点及相应对策。最后,将对本设计进行归纳总结,全面阐述本次设计中作者的体会。第1章 概 述 1.1 课题背景及意义近年来,随着全球信息化进程的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,企业内部的信息越来越私密,企业只希望员工通过内部局域网进行沟通与交流,避免企业内部机密通过Internet泄露到外部。为了解决上述矛盾,人们提出了开发局域网聊天软件
12、的构想,通过局域网聊天软件,企业员工可以随时的进行即时消息传递,召开网络会议等,有利于提高工作消息效率,同时又保护了企业内部信息的安全性。 本系统采用基于Socket的局域网通信工具的设计与实现的方法。基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。 基于Socket的局域网聊天工具很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具
13、有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。 基于Socket的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。 1.2 课题现状 基于局域网的即时通信工具,实际上是互联网即时通信工具的一个小规模版本,广域网上的即时通信工具,如今一般采用UDP或者 TCP协议体系来实现 ,开发技术已经比较成熟,比如较早的ICQ,MSN Messenger, Yahoo。除了这些国外开发的产品,还有国产的有名的QQ,新浪UC,LAVA-LAVA等,这些工具统统都实现了广域网上的
14、即时通信,尽管都是即时通信,实现了即时聊天,以及文件传输的主要功能,但是也各有各的特色,比如ICQ的巨大客户群,MSN的个性化表情,YAHOO通的易操作性等。而QQ也具有一个相当方便的屏幕截图功能,另外就是,所有上述软件都实现了网络即时的视频,语音聊天功能。这些软件,在使用方面各有特色,在实现方面也各有所长,但基于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无非就是各种利用各种平台上的网络通信接口,建构基于下层TCP/IP,或者UDP协议的软件产品。1.3 课题内容与目标本课题主要研究的是局域网聊天软件,此聊天软件分为服务器程序和客户端程序,本课题的目
15、标是能实现用户在客户端与服务器端传递文字信息。主要研究开发内容是:熟悉C#和SQL SERVER2000服务器的配置,搭配系统开发平台,探索在此开发平台下,利用socket编程技术、多线程开发技术、TCP、UDP协议等进行局域网聊天软件的实际开发。第2章 系统开发环境和关键技术 2.1 开发环境我所设计的是一个面向中小型机构内部通信需求的局域网即时信息软件,要在短时间内开发出来并且要满足客户要求,无论是硬件还是软件都要选择合适,要求如下:开发设备应该完备;开发机器的性能必须稳定;操作系统的选择应该适当;开发出的程序可以在尽可能多的平台上运行;要求运行机配置尽可能低档。对此,我们选择的硬件环境和
16、软件环境如下: 1、 硬件环境 处理器:Intel Pentium PIII或更高处理器 内存:256MB或更高 网络:局域网开发该系统应尽可能采用高档的硬件。因此,在应用时应采用更好的配置。2、 软件环境 操作系统:Windows 2000 /Windows XP / Windows 2003 开发平台:Microsoft Visual S开发语言:C#后台数据库: SQL Sever 20002.2 关键技术2.2.1 .NET Framework和C#.NET Framework类似于Java虚拟机,它不但使Internet上运行的应用程序更容易被开发,而且也可用于开发运行于Window
17、s桌面上的传统业务应用程序。它为创建、部署以及管理安全、强大、高效的应用程序提供了前所未有的最大支持。.NET Framework是一个创建、部署和运行应用程序的多语言平台环境,.NET支持的语言使用的基类库由.NET Framework类库(FCL)提供。C#是Microsoft公司设计的一种编程语言。它松散地基于C/C+,并且有很多方面和Java类似。Microsoft是这样描述C#的:“C#是从C和C+派生来的一种简单、现代、面向对象和类型安全的编程语言。C#主要是从C/C+编程语言家族移植过来的,C和C+的程序员会马上熟悉它。2.2.2 SQL Server 2000SQL Serve
18、r 数据平台 SQL Server 是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。SQL Server 2000 为IT专家和信息共作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQL Server 2000 为不同规模的企业提供了一个完整的数据解决方案。2.2.3 WINDOWS SOCKETS网络编程接口选定WINDOWS平台开发网络通信程序,可以选择WINDO
19、WS的SOCKETS编程接口,Windows Sockets是一套开放的、支持多种协议的Windows下的网络编程接口。现在的Winsock已经基本上实现了与协议无关,你可以使用Winsock来调用多种协议的功能,但较常使用的是TCP/IP协议。Windows sockets无疑是我们进行网络编程的利器。所有的Windows Sockets实现都支持流套接口和数据报套接口。应用程序调用Windows Sockets的API实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。它们之间的关系如图2-1所示: 图2-1 Windows So
20、ckets实现通讯工作的各层关系图2.2.4 多线程开发技术多线程在构建大型系统的时候是需要重点关注的一个重要方面,特别是在效率(系统跑得多快?)和性能(系统工作正常?)之间做一个权衡的时候。恰当的使用多线程可以极大的提高系统性能。使用多线程的好处有以下几点:使用线程可以把占据长时间的程序中的任务放到后台去处理;用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度;程序的运行速度可能加快;在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。在本质上和结构来说,.
21、NET是一个多线程的环境。有两种主要的多线程方法是.NET所提倡的:使用ThreadStart来开始你自己的进程,直接的(使用ThreadPool.QueueUserWorkItem)或者间接的(比如Stream.BeginRead,或者调用BeginInvoke)使用ThreadPool类。一般来说,你可以手动为长时间运行的任务创建一个新的线程,另外对于短时间运行的任务尤其是经常需要开始的那些,进程池是一个非常好的选择。进程池可以同时运行多个任务,还可以使用框架类。对于资源紧缺需要进行同步的情况来说,它可以限制某一时刻只允许一个线程访问资源。这种情况可以视为给线程实现了锁机制。线程的基类是S
22、ystem.Threading。所有线程通过CLI来进行管理。2.2.5 TCP/IP协议、UDP协议网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层-TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向上传送到TCP层。TCP将包排序并进
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 聊天软件论文 聊天 软件 论文