ASP.NET 网络聊天室的设计与实现(论文+源码)_Nueve

摘   要

随着网络的逐渐普及,以及网络技术的不段发展,人们通过网络进行交流的方式变得多样化。网络聊天室便是其中之一。聊天室系统的即时交流方式满足了网络中多人同时聊天交流的需要,使得较多的人在同一个聊天页面进行交流变得方便,简单。

本设计所完成的网络聊天室具有常用聊天室的所有功能,包括多人同时在线聊天、两人间的私密聊天、在发言的时候能够发送表情及图片,还能显示在线用户列表,同时,为了管理聊天室中的用户,设计了用户注册登陆功能,用户管理功能以及用户留言功能。并且,加入了分屏、清屏、屏蔽的辅助功能,增加了聊天室的操作性。

本文首先介绍了聊天室系统所使用到的一些关键技术,接着介绍了该系统的设计思路和需求分析,然后是对系统的详细介绍,包括系统中创建的数据库以及系统的具体功能介绍。

关键词:聊天室;B/S模式;私聊;留言

The Design and Realization of Chatroom Based on ASP

Abstract

With the popularization of the network and development of the network technology, the way which people communicate through a network becomes diversified. The network chat room is one of them. The instant communication of the chat room system has met the need that many people chat at the same time, and people can converse in an easy way on one page.

The network chat room in this project has all the functions of the common chat room. People can chat with each other at the same time, chat with one people privately and send expressions and pictures when users chat. And show the online user's list. In order to manage the users of the chat room, this system have designed the function of registration, management and leaving word. This system has the assistant functions such as multi-screen, clean-screen and shielding. These functions improve the operability of the chat room .

This paper first introduce the key technology of this chat room system, then introduce the main idea and the requirements analysis, the next is the introduction of the system in detail, including the database and specific operations.

Key words: the chat room; B/S mode; private chat; leave word

目录

                                                     

1.引言 1

2 技术简介 1

2.1 ASP技术   1

2.2 数据库技术 2

2.3 加密技术 2

3 需求分析 3

3.1系统运行环境 3

3.2系统总体结构 3

3.3 模块功能分析 4

4 系统总体设计 5

4.1 系统总体规划 5

4.2 系统数据库设计 5

4.2.1 数据库概念模型 5

4.2.2 数据库各表设计 6

4.2.3 数据库连接的实现 7

5 系统功能具体实现 7

5.1 用户注册登陆模块 8

5.1.1 用户注册 8

5.1.2 用户登录 9

5.2 用户密码修改 10

5.3 用户发言 11

5.4 聊天内容显示 13

5.5 在线用户列表显示 16

5.6 管理功能 17

5.7 辅助功能区 18

结论 20

参考文献 20

致  谢 21

声  明 22

1.引言

随着网络的逐渐普及,以及网络技术的不段发展,人们通过网络进行交流的方式变得多样化。网络聊天室便是其中之一。在网站建设迅速发展的今天,基于B/S模式的ASP网络聊天室已经成为较多网民认可的一种聊天交流平台,各种专家座谈、在线答疑室,实质就是聊天室。聊天室系统的即时交流方式满足了网络中多人同时聊天交流的需要,使得较多的人在同一个聊天页面进行交流变得方便,简单。

本聊天室的开发目的就是为人们在网络中提供一个即时的网页交流平台,通过这个平台,人们可以随意发言和观看大家发言的内容。其中的一大特点就是聊天室中的用户可以选择发言的对象,进行一对一的私聊,别人是无法看到两人间对话的内容的。

本系统开发采用B/S(浏览器/服务器)结构,参考网络中正在使用的大型聊天室的架构、分析聊天室可实现功能,结合本次设计的相关要求,进行开发设计并写出需求分析说明书。

具体开发环境:使用windows2003作为服务器运行平台,同时搭建系统运行平台IIS、DNS域名服务器;以ASP语言作为开发语言,主要研究HTML、JAVA SCRIPT、VB SCRIPT以及SQL数据库语言;后台数据库使用SQL SERVER或系统自带的ACCESS数据库;开发工具包括DREAMAVER、PHOTOSHOP、IE、SQL SERVER等。

2 技术简介

2.1 ASP技术

ASP技术是一种类似HTML(Hypertext Markup Language超文本标识语言)、Script与CGI(Common Gateway Interface通用网关接口)的结合体,简单的讲它是一种运行于服务器的脚本语言,但是其运行效率比CGI更高、程序编制也比HTML更方便且更有灵活性,程序安全性及保密性也远比Script好。

其特点归纳如下:

1. ASP可以和HTML或其他脚本语言(VB Script与Java Script)互相嵌套。

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方法允许客户端用户建立一个ActiveX Server组件实例,其所建立组件实例会随着服务器端完成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-Digest Algorithm 5(信息-摘要算法)”,以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位的散列值。本设计在保存会员密码和密码提示问题答案时都先将传递的数据通过MD5加密后才存入数据库,故在数据库中只能看到已经加密的信息,保证了信息的安全。又因为该算法是单向加密的,没有解密算法,然而MD5算法对同一段明文加密得出的密文是唯一且相同的,相当于这段数据的数据指纹,所以当有数据要和保存的数据进行比较时,便可通过将需要对比的数据进行MD5加密后再对比。

3 需求分析

本系统采用B/S模式设计,开发目的主要是在网络中提供一个安全的供多人休闲聊天交流的平台,同时借助开发此系统提高自己的独自设计能力。

3.1系统运行环境

本系统是在windows 2003 server操作系统下,搭建IIS系统运行平台,使用DREAMWEAVER和Frontpage作为开发工具开发的,数据库使用ACCESS 2003。

运行本系统,需要满足如下要求:

  1. 服务器端配置:

Windows 2000 ServicePack 4.0 以上操作系统,Internet 信息服务器 5.0(IIS 5.0)

Microsoft Offices ACCESS 2000 以上版本

(2)客户端要求配置

Windows 2000 ServicePack 4.0 以上操作系统,IE浏览器5.0及以上版本

3.2系统总体结构

  根据聊天室的主要功能分析,本系统一共分为七大功能模块:用户注册登陆模块、发言功能模块、聊天内容显示功能模块、显示用户列表模块、辅助功能区模块、管理功能模块以及用户密码修改功能模块。其中辅助功能区包括用户举报模块以及分屏等操作功能,功能结构图如图3.1所示。

图3.1 功能结构图

3.3 模块功能分析

(1)用户注册登陆模块

完成新用户注册,将注册信息添加到数据库中,用于用户登陆验证;经过登陆验证的用户,方可进入聊天室进行聊天交流。

(2)用户密码修改模块

当用户不小心忘记或记错了自己的注册密码时,可通过修改密码,重新设定登陆密码,其中要经过密码提示问题的验证,顺利通过才能修改密码。

(3)用户发言模块

除了提供发言内容的输入外,还应能显示当前用户正在对谁发言、可选择发言的颜色和发言的表情。发言的颜色和发言表情通过下拉式组合框实现。发言内容书写完毕后,通过单击“提交”按钮或按回车,实现聊天内容的显示。

(4)聊天内容显示模块

主要完成将每个用户的发言的内容显示在页面中,让这些内容对每个登陆用户均可见(除开私聊内容),同时还能及时显示各用户的发言内容,以便始终能显示出最新的发言内容。

(5)在线用户列表显示模块

该页面实现在线人数和在线用户的统计,并将在线用户依次显示出来。每个显示用户应设置为一个超链接,当单击用户名时,实现将发言区中的发言对象设置为该用户。

(6)辅助功能区模块

提供诸如分屏、清屏、刷新、屏蔽、显示名单的操作功能。同时为用户提供了举报的流言功能。

(7)管理模块

系统管理员可以查看用户注册信息以及用户留言,并对其进行管理。

4 系统总体设计

4.1 系统总体规划

聊天室系统的总体流程由用户登陆开始,通过验证后,用户便可进入聊天页面进行交流聊天,同时,系统会将新登陆用户的用户名添加进在线用户列表,即时更新。总体流程图如图5.1所示。

图4.1 系统总体流程图

图5.1 用户注册页面

图5.2 密码修改页面

图5.3 用户发言界面

图5.5 聊天内容显示区

如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值