完整word版网络聊天室的设计与实现.docx
《完整word版网络聊天室的设计与实现.docx》由会员分享,可在线阅读,更多相关《完整word版网络聊天室的设计与实现.docx(23页珍藏版)》请在冰豆网上搜索。
![完整word版网络聊天室的设计与实现.docx](https://file1.bdocx.com/fileroot1/2022-11/15/28944195-f2f9-4b07-a282-425dcadf39e1/28944195-f2f9-4b07-a282-425dcadf39e11.gif)
完整word版网络聊天室的设计与实现
毕业设计(论文)
题目网络聊天室设计与实现
毕业设计(论文)任务书(开题报告)
毕业设计(论文)教师指导记录表
指导教师
系别
职称
学生姓名
学号
系别
专业
第
一
次
指
导
指导时间:
指导内容:
第
二
次
指
导
指导时间:
指导内容:
第
三
次
指
导
指导时间:
指导内容:
第
四
次
指
导
指导时间:
指导内容:
摘要:
随着网络的逐渐普及,以及网络技术的不段发展,人们通过网络进行交流的方式变得多样化。
网络聊天室便是其中之一。
聊天室系统的即时交流方式满足了网络中多人同时聊天交流的需要,使得较多的人在同一个聊天页面进行交流变得方便,简单。
本设计所完成的网络聊天室具有常用聊天室的所有功能,包括多人同时在线聊天、两人间的私密聊天、在发言的时候能够发送表情及图片,还能显示在线用户列表,同时,为了管理聊天室中的用户,设计了用户注册登陆功能,用户管理功能以及用户留言功能。
并且,加入了分屏、清屏、屏蔽的辅助功能,增加了聊天室的操作性。
本文首先介绍了聊天室系统所使用到的一些关键技术,接着介绍了该系统的设计思路和需求分析,然后是对系统的详细介绍,包括系统中创建的数据库以及系统的具体功能介绍。
关键词:
聊天室;B/S模式;私聊;留言
1.引言
随着网络的逐渐普及,以及网络技术的不段发展,人们通过网络进行交流的方式变得多样化。
网络聊天室便是其中之一。
在网站建设迅速发展的今天,基于B/S模式的ASP网络聊天室已经成为较多网民认可的一种聊天交流平台,各种专家座谈、在线答疑室,实质就是聊天室。
聊天室系统的即时交流方式满足了网络中多人同时聊天交流的需要,使得较多的人在同一个聊天页面进行交流变得方便,简单。
本聊天室的开发目的就是为人们在网络中提供一个即时的网页交流平台,通过这个平台,人们可以随意发言和观看大家发言的内容。
其中的一大特点就是聊天室中的用户可以选择发言的对象,进行一对一的私聊,别人是无法看到两人间对话的内容的。
本系统开发采用B/S(浏览器/服务器)结构,参考网络中正在使用的大型聊天室的架构、分析聊天室可实现功能,结合本次设计的相关要求,进行开发设计并写出需求分析说明书。
具体开发环境:
使用windows2003作为服务器运行平台,同时搭建系统运行平台IIS、DNS域名服务器;以ASP语言作为开发语言,主要研究HTML、JAVASCRIPT、VBSCRIPT以及SQL数据库语言;后台数据库使用SQLSERVER或系统自带的ACCESS数据库;开发工具包括DREAMAVER、PHOTOSHOP、IE、SQLSERVER等。
2技术简介
2.1ASP技术
ASP技术是一种类似HTML(HypertextMarkupLanguage超文本标识语言)、Script与CGI(CommonGatewayInterface通用网关接口)的结合体,简单的讲它是一种运行于服务器的脚本语言,但是其运行效率比CGI更高、程序编制也比HTML更方便且更有灵活性,程序安全性及保密性也远比Script好。
其特点归纳如下:
1.ASP可以和HTML或其他脚本语言(VBScript与JavaScript)互相嵌套。
2.ASP是一种在Web服务器端运行的脚本语言,因此,程序代码完全保密。
3.ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能。
4.ASP内置ADO组件,因此可以轻松地存取各种数据库,大大缩短了程序开发时间。
5.ASP可以将运行结果以HTML的格式传送至客户端浏览器,因此ASP可以适用于各种浏览器。
下面来介绍一下ASP的几个内置对象:
Request对象,我们知道HTTP通讯协议是一种请求与响应(Request/Response)的通讯协议,因此通常由客户端向Web服务器提出请求,Web服务器才会响应信息。
因此在ASP中,特别将“客户端提出的要求”与“Web服务器响应的信息”等动作封装成Request对象与Response对象。
换而言之,Request对象通常包含了用户端的相关信息,如浏览器的种类、表头信息、表单参数及cookies等等。
Response对象,每一种程序语言或开发工具一定都有与用户沟通的界面或函数,ASP也不例外。
在ASP中负责将信息传达到用户的对象就是Response对象。
Server对象,Server对象允许用户取得服务器提供的各项功能,例如,Server对象的CreateObject方法允许客户端用户建立一个ActiveXServer组件实例,其所建立组件实例会随着服务器端完成ASP网页的处理而自动被释放。
如果希望此对象实例可以跨多个ASP网页,就要用到Session对象保留该组件实例,直到Session对象的运行时间到了,或是在其他ASP网页调用Session对象的Abandon方法,此组件实例才会被释放。
Session对象,Session对象在ASP程序编写中占了相当重的份量,由于网页是一种无状态的程序,因此几乎无法知道用户的浏览状态。
必须通过Session对象记录用户的相关信息,以供用户再次对此Web服务器提出要求时作确认,例如,在某些特定的网页中,常需要用户输入确认的账号和密码,假如这些身份确认的结果无法保留,那岂不是每一个网页都需要重新输入一次密码。
换而言之,每一个Session的用户,Web服务器均会自动的为它们建立一个Session。
必须说明,Session对象只能适用于具备Cookie功能的浏览器。
2.2数据库技术
在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了。
而对于小型的数据库应用需求,微软的Access数据库应该是与ASP程序配套使用的首选。
由于Access数据库的ODBC驱动程序支持的SQL指令全,执行效率高,所以Access后台数据库+ASP服务器端程序+客户端IE浏览器,是一个精练实用高效的组合模式。
利用SQL语言,可以查询和管理自已的数据库。
它由大约30条命令构成,但实际只需要少数的几个命令就可以完成相当多的工作,常用的SQL查询命令有:
Select、Insert、Delete、Update等。
2.3加密技术
本设计在用户密码和密码问题答案的存储时使用了MD5加密算法来保护数据库中的重要数据。
MD5,即“Message-DigestAlgorithm5(信息-摘要算法)”,以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位的散列值。
本设计在保存会员密码和密码提示问题答案时都先将传递的数据通过MD5加密后才存入数据库,故在数据库中只能看到已经加密的信息,保证了信息的安全。
又因为该算法是单向加密的,没有解密算法,然而MD5算法对同一段明文加密得出的密文是唯一且相同的,相当于这段数据的数据指纹,所以当有数据要和保存的数据进行比较时,便可通过将需要对比的数据进行MD5加密后再对比。
3需求分析
本系统采用B/S模式设计,开发目的主要是在网络中提供一个安全的供多人休闲聊天交流的平台,同时借助开发此系统提高自己的独自设计能力。
3.1系统运行环境
本系统是在windows2003server操作系统下,搭建IIS系统运行平台,使用DREAMWEAVER和Frontpage作为开发工具开发的,数据库使用ACCESS2003。
运行本系统,需要满足如下要求:
(1)服务器端配置:
Windows2000ServicePack4.0以上操作系统,Internet信息服务器5.0(IIS5.0)
MicrosoftOfficesACCESS2000以上版本
(2)客户端要求配置
Windows2000ServicePack4.0以上操作系统,IE浏览器5.0及以上版本
3.2系统总体结构
根据聊天室的主要功能分析,本系统一共分为七大功能模块:
用户注册登陆模块、发言功能模块、聊天内容显示功能模块、显示用户列表模块、辅助功能区模块、管理功能模块以及用户密码修改功能模块。
其中辅助功能区包括用户举报模块以及分屏等操作功能,功能结构图如图3.1所示。
图3.1功能结构图
3.3模块功能分析
(1)用户注册登陆模块
完成新用户注册,将注册信息添加到数据库中,用于用户登陆验证;经过登陆验证的用户,方可进入聊天室进行聊天交流。
(2)用户密码修改模块
当用户不小心忘记或记错了自己的注册密码时,可通过修改密码,重新设定登陆密码,其中要经过密码提示问题的验证,顺利通过才能修改密码。
(3)用户发言模块
除了提供发言内容的输入外,还应能显示当前用户正在对谁发言、可选择发言的颜色和发言的表情。
发言的颜色和发言表情通过下拉式组合框实现。
发言内容书写完毕后,通过单击“提交”按钮或按回车,实现聊天内容的显示。
(4)聊天内容显示模块
主要完成将每个用户的发言的内容显示在页面中,让这些内容对每个登陆用户均可见(除开私聊内容),同时还能及时显示各用户的发言内容,以便始终能显示出最新的发言内容。
(5)在线用户列表显示模块
该页面实现在线人数和在线用户的统计,并将在线用户依次显示出来。
每个显示用户应设置为一个超链接,当单击用户名时,实现将发言区中的发言对象设置为该用户。
(6)辅助功能区模块
提供诸如分屏、清屏、刷新、屏蔽、显示名单的操作功能。
同时为用户提供了举报的流言功能。
(7)管理模块
系统管理员可以查看用户注册信息以及用户留言,并对其进行管理。
4系统总体设计
4.1系统总体规划
聊天室系统的总体流程由用户登陆开始,通过验证后,用户便可进入聊天页面进行交流聊天,同时,系统会将新登陆用户的用户名添加进在线用户列表,即时更新。
总体流程图如图4.1所示。
图4.1系统总体流程图
4.2系统数据库设计
4.2.1数据库概念模型
根据系统功能和和流程所需数据要求,可以确定数据库中数据项和数据结构,其E-R图如图4.2所示。
图4.2数据库E-R图
E-R(Eneity-RelationshipApproach)图是最常用的概念模型表示方法,也是数据库的核心和基础,它是按用户的观点来对数据和信息建模的。
4.2.2数据库各表设计
对于聊天室系统,所需的数据库表有baseuser和投诉两张表。
Baseuser表用于存放注册用户的基本信息,其具体字段设计如表4.1所示。
表4.1baseuser表字段
字段名
数据类型
长度
是否允许为空
说明
Name
文本
16
否
用户注册名
Password
密码
50
否
用户登陆密码MD5值
问题
文本
50
否
密码提示问题
答案
密码
50
否
密码提示问题答案MD5值
Email
文本
50
否
用户邮箱
性别
文本
2
否
用户性别
Leves
文本
10
否
用户权限
Date
时间
10
否
注册时间
投诉表用于存放用户在聊天过程中向管理员反应的举报信息,具体字段设计如表4.2所示。
表4.2投诉表字段
字段名
数据类型
长度
是否允许为空
说明
ID
自动编号
Username
文本
16
否
投诉人用户名
Username1
文本
16
否
被投诉人用户名
Qusetion