好文档 - 专业文书写作范文服务资料分享网站

基于ASP技术的聊天室系统的设计与实现

天下 分享 时间: 加入收藏 我要投稿 点赞

聊天室是Internet上最为常见的服务之一,深受广大网民欢

迎。其实,聊天室的工作原理和设计并不困难,利用ASP技术就容 易实现。

ASP (Active Server Pages)动态服务器页面,是一套Microsoft开 发的服务器端脚本环境,通过ASP可以结合HTML网页、ASP指令 和ActiveX元件建立动态的、交互的且高效的Web服务器应用程 序。其优点体现在:①简单易学,编辑方便。使用VBScript、 Jscript 等简单易懂的脚本语言,结合HTML代码,使用普通的文本 编辑器,即可进行编辑设计;②效率高,对机器硬件设备的要求不 高。有了ASP程序不必担心客户端的浏览是否能运行所编写的代 码,客户端的浏览器不需要执行这些脚本语言,无须Compile编 译,所有的程序都将在服务器端直接执行。当程序执行完毕后,服 务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏 览器的负担,大大提高了交互的速度;③可扩充性较强。ASP使用 ActiveX 服务器组件,可以使用Visual Basic、Java、Visual C++、 COBOL 等程序设计语言来编写所需要的服务器组件。

Application 对象用于在服务器上一个Web 站点内的应用程序

之间传递消息。Application 对象没有内置的属性,但用户可以定义 自己的属性。一旦为Application对象定义了属性,该属性的有效期 从请求该应用程序的第一个页面开始,到Web站点关闭为止。

Application 对象的属性可以被该站点的所有应用程序的所有用户共 享。因此, 聊天应用程序中可以用来存放用户的谈话内容。对 Application 对象属性的定义脚本必须放在Global. asa 文件的App lication_onstart 事件中。Global.asa 文件存储于Web 站点的根目 录,用于指定该站点的全局对象和存储事件信息。Session 对象也 可以在页面间跳转时保存和传递数据, 但与App lication 对象不同 的是,Session 对象只保存单个用户的信息,即作用范围仅限于某 个特定用户访问的不同页面间,而不是在各用户之间传递数据。 Session对象的属性,同样由用户自己定义。定义与读写的脚本语法 与Application对象相同,只是脚本要放在应用程序中。

一个网络聊天室的主要功能就是:接收各个客户端的讨论,然 后按照各自的聊天对象发送到相应的客户机浏览器上。在本系统 中,一个浏览器的窗口中,既能输入聊天用户的发言,同时又能看 到自己与他人的对话内容。还有,为了方便用户选择聊天对象,窗 口中要提供聊天用户的名单。

本聊天室有以下几个基本功能:①聊天用户登陆;②聊天内容 输入;③聊天内容显示;④聊天内容显示页面实时更新。 本聊天室需要在登录页面的处理中考虑用户名是否重复。如果 重复,则提示出错,并回到登录页面,如果没有重复,则进入聊天 室。登录页面为login.asp,登录处理程序为enter.asp,进入聊天室 的页面为chatroom.asp。用户登录成功后进入聊天室页面

chatroom.asp,这个页面主要由4个框架页面构成:userinfo.asp,

userlist.asp, chatlist.asp, inputmsg.asp, 分别是用户信息框架页 面、在线用户显示框架页面、聊天框架页面和用户输入框架页面。 用户在输入页面输入聊天内容后,提交给系统,系统接收后输出到 聊天页面,而在线用户页面将所有的在线用户列出给用户选择。聊 天过程的实现如下图所示:

本聊天室主要使用Application对象和Session对象。用户信息通 过表单输入,不需要验证。用户名用Session对象存放, 发言用 Application对象存放,聊天室定期刷新用标记实现。 登录部分页面由index.asp和enter.asp两个页面构成。

Index.asp是用户名输入页面,具体实现由一个文本框和一个提交按 纽完成。将用户名提交到enter.asp页面后, enter.asp页面读取从 index.asp传来的用户名,判断是否与在线用户名冲突。如果是,则 给出提示,并重新连接到index.asp,否则,就直接进入聊天页面。 Enter.asp的部分代码如下:

聊天处理页面主要由4个页面构成:聊天内容显示页面、用户 输入页面、在线用户显示页面和用户信息页面; 主要由

global.asp, getchat.asp chatlist.asp 来完成; 采用application(“ms g”)来存取内容。

在global.asp中先初始化聊天内容,如下所示:

聊天内容记录是通过getchat.asp来实现的,如下所示: '读取目前时间的小时与分钟 1 ASP技术

2 聊天室基本功能分析与总体设计 3 详细设计

1.1 ASP技术概述

1.2 Application对象和Session 对象简介 3.1 登录部分页面 3.2 聊天处理页面 系统总体流程图 Dimusername,i

Username=request(“username”)

For i=0 to (application(“totalusers”)-1)

If username=application(“onlineuser”)(i) then

Response.write “用户名重复,请重新选择一个用户名进行登录
” '用户名相同,提示用户

Response.write“重新登录” Response.end End if Next

'直接进入聊天室

Response.redirect“chatroom.asp?username=”&username

Application.lock For i=21 to 2 step-1 J=i-1

Application(“msg”&i)=application(“msg”&j) Next

Strhour=hour(time()) If len(strhour)=1 then Strhour=“0” & strhour Strminute=minute(time()) 刘伟

(中国矿业大学信电学院)

基于ASP技术的聊天室系统的设计与实现 摘要 关键词

本文主要讲述使用ASP提供的Application和Session两个对象,构造一个基本的聊天室系统。其中Application对象和

Session对象分别用来存储聊天用户的聊天内容和用户名,而聊天室的定时刷新用标记实现。

ASP Application对象Session对象定时刷新聊天室 内肛科技

网络纵横2007年第2期97 If len(strminute)=1 then Strminute=“0” & strminute

Strtime=“<”&strhour&“:”&strminute&“>”

'初始化一个向大家说再见的字符串,然后存放在application(“msg1”) Strtmp=“ [” &session(“ username” )&“ ]” &“ 说: ” &request (“chatmsg”)&strtime

Application(“msg1”)=strtmp Application.unlock

Response.redirect“chatlist.asp”'将网页重新导入 For i=1 to 21

Response.write application(“msg”&i)&“
” Next Dim refreshtime, idletime, totalusers, onlineuser(),tmp(),num,I, newuser,user,username

refreshtime=10 '设置网页自动更新时间为10秒

idletime=refreshtime*3 '设置闲置时间为自动更新时间的3倍 newuser=request(“username”) application.lock

If application(newuser&“lastaccesstime”)=empty then

基于ASP技术的聊天室系统的设计与实现

聊天室是Internet上最为常见的服务之一,深受广大网民欢迎。其实,聊天室的工作原理和设计并不困难,利用ASP技术就容易实现。ASP(ActiveServerPages)动态服务器页面,是一套Microsoft开发的服务器端脚本环境,通过ASP可以结合HTML网页、ASP指令和ActiveX元件建立动态的、交互的且高效的Web服务器应用程序。其
推荐度:
点击下载文档文档为doc格式
2366i4eqnq5kaxd90scu
领取福利

微信扫码领取福利

微信扫码分享