ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:667.72KB ,
资源ID:7395062      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7395062.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于net的在线聊天系统本科学位论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于net的在线聊天系统本科学位论文.docx

1、基于net的在线聊天系统本科学位论文潍坊科技学院本科毕业设计(论文)题 目 基于.NET的在线聊天系统 院(系) 中印计算机软件学院 专业 计算机科学与技术 学 号 200801450006 学生姓名 纪 连 文 指导教师 祝 凌 云 起讫日期 2011.12.15-2012.4.30 设计地点 潍坊科技学院 摘 要随着网络技术的不断发展,网络聊天技术正成为目前产业界和科研机构密切关注的焦点。基于网络的聊天技术已成了近年来新兴的聊天交流方式。网络聊天是在20世纪90年代发展起来的,它是在原有的面对面等通过动态声音为信息载体的基础上,增加了非接触式的通过静态文字为载体的交流方式。其使用的C/S结

2、构系统可以在任何一台的计算机上使用,系统的部署和维护只是在服务器上进行,这样的模式既能减少管理的成本,更重要的是它能很方便的实现用户与系统的交互,更快地响应用户信息交互请求,加之微软C#编程语言在窗体应用上的优势以及平台的独立性好、简便的窗体生成为C/S的实现提供了很好的技术基础。本系统前台选用了C#等作为主要的编程工具和语言,后台选用SQL Server2008作为数据库服务器。利用ADO.NET编程技术实现前后台的数据交互。本系统实现了以下功能:即时聊天,添加好友,文件上传,聊天记录查询等。关键词: C# C/S结构 数据库 主程序 AbstractWith the development

3、 of net work technology network chat technology is become the industry and scientific research institutions close attention Based on network chat technology in recent years has become the emerging chat communication Network chat is in the 1990s, it was developed in the original face to face for such

4、 information carrier by dynamic voice, on the basis of increased non-contact through the static text as the carrier type of communicationIts restrictive is lower, avoid the gleam of restraining factors in communication; Chat system is providing these services with dynamic interaction function of the

5、 management information system, it achieved a network of on-line chat; Users can chatting in information system and the be fond of according to oneself and character in his own way to communicate and find friends Such user never leave home, can communicate with people anywhere at any time, from the

6、traditional way of communication in time and space, and the limitations of traditional exchange individual factors, enriched the limitations of the network life people As the Internets rapid rise, C/S structure of system can be in any one computer use, the systems deployment and maint enance just on

7、 file server, such a model can not only reduce the cost management, more important is it can e asily achieve user and system interaction, to respond more quickly to user information interaction request, together with Microsoft C # programming languages, as is known to all, put forward the applicatio

8、n form on the C # the independence of the advantages and platform, simple form was born the realization of becoming C/S, provide good technology foundation Thus, using the Internet to coverage area wide advantage, build a based on C/S structure of network chat system, and provide the network service

9、 mainly to chat to satisfy the users, according to his own will and communication needs and convenient degree of pursuit, rich users network life and daily communication means, will gets more and more users favor Keywords: C # C/S structure DateBase MainProcess目 录摘 要 I目 录 II第1章 绪论 111 选题背景及意义 112 网络

10、聊天简介 113 系统设计思想 114 可行性分析 215 系统运行环境 2第2章 相关技术概述 321 客户端/服务器( Client/Server)结构概述 322 SOCKET编程技术 32.6 SQL Server 2008概述 42.7 ADONET技术 4第3章 需求分析 531 系统需求分析 532 系统功能需求 533 数据处理需求 634 系统性能需求 6第4章 系统分析与设计 741 系统功能模块设计 74.2 系统模块详细设计 74.2.1 客户端功能模块设计 74.2.2 服务器端功能模块设计 104.3 系统整体流程图 10第5章 数据库设计 135.1 概述 135

11、.2 数据库概念结构设计 135.3 数据库逻辑结构设计 145.3.1 用户信息实体属性图 145.3.2 用户好友关系信息实体属性图 145.4 数据表设计 155.5 创建数据的存储过程 15第6章 系统详细设计与实现 176.1 系统通用类设计 176.1.1 数据库表结构类设计 176.1.2 服务器端模块数据库表操作类设计 186.1.3 对数据库操作的封装 186.2 界面及功能设计 186.2.1 服务器主界面 196.2.2 客户端界面 196.3 系统实现过程中遇到的问题与解决 276.3.1 Socket套接字异常问题 276.3.2 多线程问题 27第7章 结论与展望

12、287.1 结论 287.2 不足之处及未来展望 28参考文献 29致 谢 30第1章 绪论11 选题背景及意义Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。如今,人们不仅可以在网上查询自己需要的资源,而且可以通过网络进行实时的沟通。从实时性和有效性上都超过了用信件和电子邮件,并且在费用上要低于电话。因而各种聊天服务备受用户青睐,在这方面的开发与应用也较多,聊天服务也成为互联网提供的重

13、要服务之一,因此,建立一个好的在线交流聊天系统十分重要。互联网的大多数网站都建有聊天室,并且有专业聊天网站提供聊天服务。它们中大部分都是绝对的C/S模式,对远程服务器有非常大的依赖性,没有彻底实现点对点的交流。在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似QQ、网络聊天时一类的聊天系统的发展日新月异。12 网络聊天简介网络聊天,英文简称NC(Network chat ),指的是按照用户的要求播放视频。NC有很广泛的含义,包含了娱乐、教育、商业等领域的多种应用,如游戏聊天( Chat In Game)、在线语音聊天(Online voice

14、 chat)、离线文件传输(Offline file transfer)和远程教学( Long Distance Learning)等。网络聊天是在20世纪90年代发展起来的,它是在原有的面对面等通过动态声音为信息载体的基础上,增加了非接触式的通过静态文字为载体的交流方式,其限制性比较低,避免了沟通上的一线制约因素;聊天系统就是提供了这些服务的具有动态交互功能的管理信息系统,它实现了一个网络上的在线聊天;用户可以在聊天信息系统并根据自己的喜好和性格进行自己的交流方式和寻找朋友。这样,使用户足不出户就可随时随地地与人交流,摆脱了传统交流方式在时间和空间的局限性,以及传统交流个人自身的因素的局限性

15、,极大丰富了人们的网络生活。13 系统设计思想聊天系统利用Net平台的Winform技术和数据库技术,提供以文字聊天为中心的网络文本传输服务,系统采用C#作为编程语言技术,结合C/S结构模式,能动态实现与用户的交互,满足用户添加好友和修改用户信息等需求,以及后台管理员对系统信息管理的需求。14 可行性分析计算机网络作为一种先进的信息传输媒体,有着信息传送速度快、信息覆盖面广、成本低的特点。随着信息技术的发展,利用C#技术结合数据库技术来实现一个聊天系统,提供以文字聊天为中心的网络文本传输服务,能更贴切的满足用户根据自己的意愿进行无打扰的聊天的需求,也必将受到用户的青睐。但是,开发任何一个基于计

16、算机的系统,都会受到时间和资源上的限制。因此,在开发系统前必须进行可行性分析,以减少项目的开发风险,避免人力、物力和财力的浪费。可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题能否解决。对在聊天系统的可行性分析如下:1、经济可行性分析:成本较低,系统建设不需要很大的投入,系统更新时也只需更新服务器端程序,方便维护。2、技术可行性分析:系统采用NET开发平台,NET Framework是NET平台的基本框架,具有强大的API,给系统奠定了技术基础。系统采用C#NET技术,结合C/S结构模式,能够方便实现用户与系统的动态交互,以及方便信息的维护等。3、运行上可行性:本系统作为一个小型的

17、聊天系统,所耗费的资源非常的小。综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。15 系统运行环境系统开发环境:Microsoft Visual Studio 2008系统开发语言: C#运行平台:Windows7数据库:SQL Server 2008第2章 相关技术概述21 客户端/服务器( Client/Server)结构概述C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/S

18、erver形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上

19、局域网用户同时使用。而且代价高,效率低。如图2.1和图2.2所示:图2.1 C/S结构图图2.2 客户机服务器通信结构示图22 SOCKET编程技术MicrosoftNet Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间SystemNet和SystemNetSockets包含丰富的类可以开发多种网络应用程序。其实,Socket可以象流Stream一样被视为一个数据通道,这个通道架设在应用程序端(客户端)和远程服务器端之间,而后,数据的读取(接收)和写入(发送)均针对这个通道来进行。2.6 SQL Server 2008概述SQL Serv

20、er 是一个关系数据库管理系统。SQL Server 2008 的特性有:1Internet 集成; 2可伸缩性和可用性;3企业级数据库功能;4易于安装、部署和使用;2.7 ADONET技术ADONET是在NET Framework平台中负责数据存储的对象。ADONET建立在如XML的业界的基础之上,就像ADO,它提供了一个数据访问接口,以便和OLE DB兼容的数据源进行通信,如SQL Server或Oracle应用程序可以使用ADONET连接这些数据源,并检索,处理和更新数据。使用ADONET最重要的理由是可以获取一个真正断开连接的数据体系结构和XML的紧密集成和一个通用的数据表示法,可以将

21、各种不同数据源中的数据组合起来,并优化了和数据库交互的功能。第3章 需求分析31 系统需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的系统只会令用户失望,给开发者带来烦恼。网络聊天的出现,最初是源于人们对远程通信、远程帮助的需求发展到现在的远程群聊、远程教育、远程控制以及语音聊天和视屏聊天。在传统的聊天中,要求人们面多面的聊天近距离的的沟通。虽然可以通过电话进行远程没接触式的聊天,但是这种聊天费用高昂,对于对身体的健康也有一定的影响而且电话聊天对于偏远地区效果

22、并不好,在当今如此快节奏的生活中,在高速发展的信息经济中,用户没能在恰当的时间通过交流接受到自己有用的信息是常有发生的事情。这对于用户的日常生活会产生极大影响,用户希望可以根据自己的时间和安排进行方便的信息交换,不必遵守传统的聊天时间机制,可以随时随地的联系、表述自己的想法与朋友进行感情的交流。并且随着网络技术的不断发展,人们越来越习惯于利用网络来实现所需的服务,网络信息经济时代的来临,因此,建立一个基于网络的聊天系统,以其不受时间与空间的限制,向用户提供以文本信息传输为中心的服务,动态地实现与用户间的信息交互,必能满足广大用户的需求,该系统主要分为两部分:客户端和服务器端两部分。系统所要实现

23、的功能主要是方便用户进行网络聊天。32 系统功能需求初步将在聊天系统分为两个模块:客户端模块及服务器模块。1、客户端功能包括:用户登录:建立与服务器的连接并登陆,能显示登陆错误信息,以及配置登陆的服务器IP地址和端口号。用户注册:连接本地数据库,注册用户号码,并保存该用户,同时将信息返回给客户端。聊天功能:与好友进行聊天。信息显示:显示好友的在线列表和好友的离线列表。聊天纪录:能够记录当前界面的聊天记录。登录提示:显示欢迎界面。信息提示:能够播放提示音,提示用户有人向其发送聊天邀请。头像闪烁提示:在收到消息而聊天面板未打开时,对你发出聊天信息的好友头像闪烁。发送窗口抖动:发送提示声音并对好友的

24、聊天窗体进行颤动激活。添加好友:能够通过连接本地数据库进行添加好友。删除好友:能够通过连接本地数据库进行删除好友。2、服务器端功能包括: 登陆信息:检查登陆信息是否正确,并向客户端返回登陆信息,如信息正确。就将在线用户好友列表和离线好友列表发给该用户,并将该用户的状态发给各在线用户并更新其在线好友列表和离线好友列表。消息发送:服务器打开监听,当接收到客户端发送的消息建立线程通过Sockets套接字转发消息。操作数据库:服务器端对数据库里的数据表进行映射生成在线好友列表和离线列表。用户下线:将此用户下线消息发给各客户端,并改写用户在服务器端的状态,更新客户端的在线好友列表和离线列表。33 数据处

25、理需求对用户信息的处理需求:包括查询好友信息、添加好友关系信息、删除好友关系信息。对聊天信息的处理需求:包括发送字符串、接收并显示字符串、保存当前界面的信息。34 系统性能需求一个系统的性能包括信息系统的效率、处理方式、可靠性、安全性、适应性等内容。效率是信息系统的处理能力、处理速度、吞吐量、响应时间等与系统处理时间有关的性能要素。处理方式涉及的范围比较宽,包括信息系统的结构和分布模式、交互方式、业务处理方式等。可靠性是保证系统正常工作及抗故障、抗干扰的能力,它包括:保证系统正常工作的能力;对系统故障的预防、检测以及自动纠错的能力;出现故障时,保证系统不发生崩溃,并使系统重新恢复、重新启动的能

26、力等。安全性是保证合法用户能够正确使用信息系统,并防止非法用户访问信息系统的能力。适应性是信息系统对外部环境和需求变化的适应能力。根据系统的性能需求,在聊天系统的开发主要要实现的目标有以下几个方面:(1)界面设计友好、美观。(2)数据存储安全、可靠。(3)信息分类清晰、准确。(4)数据查询的灵活性。(5)实现对聊天信息的展示。 (6)提供好友关系信息的添加、删除功能,方便用户操作。(7)具有易维护性和易操作性。第4章 系统分析与设计41 系统功能模块设计按系统的功能需求分析,将系统功能模块分为两大模块:客户端功能模块和服务器端功能模块。客户端功能模块包括:用户登录模块、用户注册模块、软件版权模

27、块、显示好友模块、在线聊天模块、添加好友模块、删除好友模块;服务器功能模块包括:服务器登录模块。根据系统功能模块设计,系统的整体功能结构图如图4.1所示:图4.1 系统整体功能结构图4.2 系统模块详细设计4.2.1 客户端功能模块设计(1)用户注册。设计流程如下:输入要注册的用户名和密码,系统会检查用户名是否已经存在,如果不存在,就允许注册新用户并发回数据库自动生成的用户ID。模块流程图如图4.2所示:图4.2 用户注册流程图(2)用户登录。设计流程如下:首先判断服务器的端口号是否配置正确,然后判断输入的用户名和密码是否正确,正确就用户登录。模块流程图如图4.3所示:图4.3 用户登录流程图

28、(3)滚动和通知区域图标。设计流程如下:在登录成功后,生成窗体的NotifyIcon图标和一个滚动的欢迎图标。(4)显示好友。设计流程如下:在登录成功后,服务器将为用户对数据库的表进行映射获得在线好友的列表和离线好友的列表通过Socket套接字发送过去,显示好友模块在显示面板上显示好友。(5)在线聊天。设计流程如下:先判断好友是否在线,进入聊天界面中写入发送的信息,通过服务器监听到发送好友消息在转发给好友,进行在线聊天,其还整合发送震动框提示功能、头像闪烁提示以及声音提示功能。模块流程图如图4.4所示:图4.4 在线聊天模块流程图(6)添加好友。设计流程如下:首先通过进行查询操作判断用户是否已

29、经加过其好友,然后进行添加好友关系。模块流程图如图4.5所示:图4.5 添加好友模块流程图(7)删除好友。设计流程如下:首先通过进行查询操作判断用户是否是在操作自己的好友关系,然后判断是否是好友关系,如果是就删除好友关系。模块流程图如图4.6所示:图4.6 删除好友模块流程图4.2.2 服务器端功能模块设计服务器端功能模块就是服务器监听模块:服务器监听模块。设计流程如下:首先判断服务器的端口是否更该,配置好端口号开启服务器开始监听,监听到用户登录消息,客户端进行操作数据库验证,正确就建立Socket连接,并读取其在线好友列表和离线好友列表发送给客户端,当监听客户端进行各种操作,服务器端调用自身

30、的监听处理方法进行处理并将结果或信息通过Socket发送给客户端。服务器监听模块流程图如图4.7所示:图4.7 服务器监听模块流程图4.3 系统整体流程图在聊天系统的流程是用户在客户端登录,若用户名不存在,则需先注册用户信息,在注册完用户信息后,用户输入自己的帐号及密码登录系统,在用户登录成功后服务器端监听客户端发来的登陆消息,进行登录处理,验证数据库表中的数据进行对比以及该用户当前的状态,如果用户的账号和密码比对无错,再比对在线用户Hash表中是否已经登录,如果没有登录则建立Socket连接并更新在线用户Hash表,建立线程处理与用户的Socket连接操作,同时发送登录用户的在线好友列表和离

31、线好友列表,用户成功登录后,进入好友显示模块,在在线好友界面中点击好友头像进入聊天界面,用户发送信息给在线好友,服务器监听到客户端通过Socket发过来的对好友进行聊天的消息,并截取Socket传输的数据流中的发送者要传输给接收者的消息,通过与接收者建立Socket连接,将数据写入其Socket传输数据中,实现数据的转发,同时用户对好友进行发颤抖框操作都是服务器接受其操作消息标识参数,在发给好友操作标识参数,然后其客户端就会调用其自身定义的该标识参数下的方法,聊天完毕,用户发送离线消息,服务器接受到其消息,关闭与其的Socket连接,更新在线用户Hash表以及在线用户的在线好友列表。客户机/服务器模式在操作过程中采取的是主动请示方式,首先服务器方要先启动,并根据请示提供相应服务:(过程如下)1、服务器(1)、打开一通信端口并告知本地主机,它愿意在某一个公认地址上接收客户请求。(2)、等待客户请求到达该端口。(3)、接收到重复服务请求,处理该请求并发送应答信号。(4)、返回第二步,等待另一客户请求。(5)、关闭服务器。2、客户方:(1)、打开一通信通道,并连接到服务器所在主机的特定端口。(2)、向服务器发送服务请求报文,等待并接收应答;继续提出请求(3)、请求结束后关闭通信通道

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1