当前位置:首页 > 代码 > 正文

asp网络聊天室设计报告及代码(网络程序设计asp)

admin 发布:2022-12-19 22:07 141


今天给各位分享asp网络聊天室设计报告及代码的知识,其中也会对网络程序设计asp进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求ASP网络聊天室 毕业论文

----经 常 在Internet上 冲 浪 的 网 友 恐 怕 很 少 有 人 没 有 去 过 聊 天 室 神 侃 胡 吹 过。 你 只 要 稍 微 留 意 一 下 就 会 发 现 这 些 聊 天 室 大 多 是 用CGI程 序 或 者 用JAVA开 发 的Applet维 护 的。 开 发 过 这 类CGI或Applet的 程 序 员 都 知 道, 这 种 开 发 工 作 是 费 时 费 力 的。 那 么 有 没 有 一 种 更 简 单、 省 力 的 开 发 方 式 呢 ? 答 案 是 肯 定 的。 笔 者 利 用ASP很 快 就 开 发 了 一 个 聊 天 室, 该 聊 天 室 不 光 速 度 快, 维 护 也 特 方 便。 在 这 里 笔 者 想 把 开 发 过 程 中 的 技 术、 技 巧 和 心 得 介 绍 给 大 家。

p style=line-height: 150%----关 于ASP在《 计 算 机 世 界 报》 上 有 很 多 文 章 都 有 介 绍, 这 里 不 再 赘 述。 笔 者 工 作 的 单 位 里 有 一 个 由Windows NT4.0组 织 的LAN。NT服 务 器 上 安 装 了IIS3.0, 设 置 了 若 干 各WEB站 点, 其 中 一 个 取 名 为fyb.cam.gov.cn。 本 单 位 的WEB站 点 并 没 有 接 入Internet, 由 于 有 聊 天 室 却 也 吸 引 了 不 少 本 单 位 的 员 工。 如 果 您 的 工 作 环 境 与 我 们 的 相 同, 不 妨 也 在 自 己 的LAN里 面 如 法 炮 制 一 个 聊 天 室。

p style=line-height: 150%一、 聊 天 室 的 规 划:

---- 1、 谈 话 内 容 储 存 方 式 的 选 择: 在 客 户 机 上 显 示 即 时 谈 话 的 内 容 应 以 什 么 方 式 储 存 在 服 务 器 呢 ?ASP有 两 种 选 择, 一 种 是 以 文 本 文 件 方 式, 一 种 是 以 数 据 库 方 式。 但 笔 者 感 觉ASP对 文 本 文 件 操 作 的 指 令 远 不 如ADO(ActiveDataObject)提 供 的 对 数 据 库 操 作 的 指 令 多。 所 以 利 用ADO,ASP能 对 数 据 库 灵 活 地 操 作, 比 如 插 入、 删 除、 更 新、 查 询 等 等。 笔 者 选 择Access数 据 库 来 储 存 谈 话 的 内 容。 该 数 据 库 内 容 只 保 留 一 天( 可 根 据LAN的 实 际 情 况 确 定 时 间 长 短) 的 谈 话 内 容。

p style=line-height: 150%---- 2、 聊 天 室 界 面 的 设 计: 为 了 客 户 能 够 方 便 地 浏 览 站 点 的 内 容, 又 能 尽 可 能 地 显 示 聊 天 室 的 内 容, 笔 者 在 一 幅 主 页 里 设 计 了 三 帧。 左 边 一 帧 显 示 的 是 站 点 的Index。 右 边 一 帧 又 分 成 上 下 两 帧。 上 帧 占70%, 用 来 显 示 当 前 聊 天 室 的 内 容; 下 帧 占30%, 用 来 提 供 一 个 文 本 输 入 框 和 供 用 户 反 馈 的 按 钮

p style=line-height: 150%---- 3、 进 入 聊 天 室 的 步 骤: 象 大 多 数 聊 天 室 一 样, 首 先 应 该 提 供 给 用 户 一 个 登 录 界 面, 由 用 户 输 入 自 己 的 名 字 或 别 名 和 自 己 随 意 给 定 的 密 码。 如 果 输 入 的 用 户 名 与 在 线 的 用 户 名 相 同, 则 提 示 用 户 重 新 选 择 用 户 名 或 重 新 输 入 密 码, 以 保 证 在 线 的 所 有 用 户 名 都 是 唯 一 的。 登 陆 成 功 后 进 入 聊 天 室, 内 容 显 示 帧 显 示“欢 迎 加 入”的 欢 迎 信 息。 用 户 就 可 以 在 文 本 输 入 区 内 输 入 谈 话 内 容 了。

p style=line-height: 150%二、 设 计 过 程 和 开 发 技 巧:

---- 1、 设 计ODBC系 统 数 据 源: 如 前 所 述, 本 开 发 采 用ASP对ADO进 行 操 作, 因 此 必 须 先 对 数 据 源 进 行 设 置。 在NT服 务 器 的 控 制 面 板 里 双 击ODBC图 标, 在 系 统DSN页 添 加 系 统DSN, 选 择Microsoft Access Driver,Data Source Name为‘fybchat’, Database选 择Chat目 录 下 的chat.mdb.该 数 据 库 包 括 下 面 几 个 字 段:name, content,password,chattime,chatdate,分 别 以 来 存 储 姓 名、 谈 话 内 容、 密 码、 谈 话 时 间 和 谈 话 日 期。

p style=line-height: 150%---- 2、 登 录 界 面 设 计: 登 录 界 面 为 一html页, 包 含 一 些 警 告 信 息 和 一 个Form。 该Form以 来 获 取 用 户 名 和 密 码, 如 下 所 示:

p style=line-height: 150%formmethod="post"action="receivedata.asp"

姓 名:inputtype="text"name="usname"

密 码:inputtype="password"name="uspassword"

/center br br

center inputtype="submit"value="进 入"

inputtype="reset"value="清 除" /center

inputtype="hidden"name="content"value=""

/form

----通 过 提 交 按 钮 来 激 发receivedata.asp。 该ASP文 件 主 要 来 保 证 在 聊 天 室 里 没 有 两 个 用 户 是 同 名 的。 用 户 提 交 信 息 后, 该 文 件 打 开chat.mdb检 查 是 否 已 经 有 该 用 户 名, 如 果 有 但 密 码 不 对 就 提 醒 用 户 重 新 输 入 密 码, 如 果 没 有 那 么 用 户 就 顺 利 进 入 了 聊 天 室。 进 入 聊 天 室 界 面 的 功 能 由 下 列 语 句 完 成:

p style=line-height: 150%FRAMESETROWS="70%,30%"

FRAMESRC="forum.asp"NAME="main"

MARGINWIDTH="1"MARGINHEIGHT="1" Noresize

FRAMESRC="frft.asp?kname=

% =name% " NAME="footnotes"MARGINWIDTH="1"

MARGINHEIGHT="1" Noresize

/FRAMESET

----注 意 这 里 有 一 个 技 巧, 通 过 参 数kname将 用 户 的 姓 名 隐 藏 在 客 户 的 浏 览 器 里 面 了, 这 样 一 来, 用 户 每 次 提 交 谈 话 内 容 的 同 时 也 把 他 的 姓 名 提 交 了。

p style=line-height: 150%---- 3、 文 本 输 入 区 的 设 计: 文 本 输 入 区 是 由frft.asp产 生 的。 如 上 所 述, 用 户 每 次 提 交 谈 话 内 容 的 同 时 也 把 他 的 姓 名 提 交 了, 用 户 提 交 谈 话 内 容 的 动 作 是 激 活forum.asp。forum.asp的 作 用 是 刷 新 聊 天 室 的 内 容。Frft.asp内 容 如 下:

p style=line-height: 150%!DOCTYPE HTML PUBLIC "

-//IETF//DTDHTML//EN"

html

head

metahttp-equiv="Content-Type"

content="text/html;charset=gb_2312-80"

metaname="GENERATOR"

content="Microsoft FrontPage 2.0"

title /title

/head

body

%kname=request.QueryString("kname")%

basetarget="main"

formname="fm1" method="POST"action="forum.asp"

palign="center" inputtype="text"size="90"

name="content" /p

palign="center" inputtype="button"name="B1"

value="提 交/刷 新" inputtype="reset"

name="B2" value="重 写" /p

inputtype="hidden"name="kname"

value=%=kname%

/form

SCRIPTLANGUAGE="VBScript"

!--

p style=line-height: 150%Sub IeTimer1_Timer()

if fm1.content.value="" then

fm1.content.value=""

fm1.submit

else

end if

end sub

p style=line-height: 150%sub b1_onclick()

fm1.submit

fm1.content.value=""

end sub

--

/SCRIPT

OBJECTID="IeTimer1" WIDTH=39 HEIGHT=39

CLASSID="CLSID:59CCB4A0-727D-

11CF-AC36-00AA00A47DD2"

CODEBASE=""

PARAM NAME="_ExtentX"VALUE="1005"

PARAMNAME="_ExtentY"VALUE="1005"

PARAM NAME="Interval"VALUE="7000"

/OBJECT

p style=line-height: 150% /body

/html

----这 时 又 出 现 了 一 个 问 题, 用 户 必 须 不 停 提 交 才 能 看 到 最 新 的 聊 天 室 内 容, 这 显 然 给 用 户 带 来 了 不 便。 于 是 考 虑 用 一 个timer的ActiveX控 件 来 控 制 聊 天 室 的 内 容 岂 不 更 好 ? 于 是 选 用 了Ietimer, 如 上 object … … /object 所 引 用, 每 隔7秒 钟 聊 天 室 内 容 自 动 更 新 一 次。 这 样 即 使 用 户 不 想 参 加 聊 天 也 可 以 坐 在 机 器 边 看 别 人 聊 天 了。

p style=line-height: 150%三、 总 结

----由 上 述 开 发 过 程 我 们 可 以 知 道, 利 用ASP程 序 可 以 很 灵 活 地 传 递 参 数, 并 且 可 以 很 灵 活 地 将 程 序 流 程 分 割 成 几 个 单 独 的ASP程 序, 非 常 利 于 程 序 的 调 试, 对ActiveX控 件 的 支 持 和 对DAO的 强 大 操 作 能 力 使 得 利 用ASP能 够 开 发 功 能 非 常 强 大 的 程 序。

怎样用asp创建聊天室?(高分)

用ASP建造自己的聊天室

聊天室想必你一定去过吧,但想不想建立自己的聊天室呢?其实这一点都不难,Active Server Script提供了Application对象和Session对象,Application对象代表了一个Active Server应用程序,也就是一个Web网页,Session对象则表示一个用户,代表一个用户对这个页面的一次访问,通过Application对象可以让访问它的所有用户共享信息,并可以在Web服务器运行期间持久地保存数据,而Session对象也可以在用户的一次访问期间持久地保持数据,利用这两个对象,就可以十分方便地建造自己的Chat应用程序。

---- 一、Application对象:

---- 1.属性:Application对象没有内置的属性,但用户可以定义自己的属性:

---- Application(“属性名称”)=值,一旦分配了属性,它就会一直存在,直到Web服务器关闭服务,而且它能被所有用户读取,所以可以用它在用户之间发送谈话内容。

---- 2.方法:当两个用户同时对Application属性的值进行写入操作时,会出现一方的修改被另一方的操作直接覆盖掉的情况,为了避免这种现象,用户可以调用Lock方法进行锁定,这样只有当前用户才能够对Application的属性进行操作,用户完成操作后调用Unlock方法解锁,使得其他用户也可以修改Application的属性。

---- 3.事件:创建Active Server应用程序需要在Web服务器上存放应用程序的虚拟主目录下创建Global.asa文件,它含有Application对象和Session对象的事件处理例程,通常,Application_Onstart事件用来定义应用级的属性。

---- 二、创建一个Chat应用程序:程序运行时如下图所示(略)

---- 1.设置应用程序的变量:这里需建立两个应用程序级的变量,gchars数组用来存放用户的谈话内容,gcounter用做计数器,控制页面的显示行数,在这里我们让页面最多显示最近的10行谈话内容。当应用程序启动时这些变量必须进行初始化,所以它们的创建都要在Global.asa文件中的Application_onstart事件中:

script language="vbscript" runat="server"

sub application_onstart()

dim lchars(10)

application("gchars")=lchars

application("gcounter")=0

end sub

/script

---- 2.确定处理ASP的方式:当用户第一次请求这个ASP文件时,用的是GET方法,然后,当用户输入完谈话内容后提交时用的是POST方法,在这里表单是向自身提交的,所以这个ASP文件会被再次请求,我们通过测试Request . ServerVariales(“Request_Method”)变量来确定文件被请求的方式:IF Request . ServerVariales(“Request_Method”)=“POST” then

---- 3.确定讲话者:当用户第一次提交谈话内容时需输入自己的姓名,一旦在txtname框中输入数据后,程序将建立一个会话级变量来存放用户姓名,并自动显示在txtname框中,用户就不需再次输入了,除非你想用另一个名字加入会谈。

IF len(request(“txtname”)) 0 then

Session(“ssname”)=request(“txtname”)

End if

h5 您的姓名:

input type=“type” name=“txtname”

length=“20” value= %=session(“ssname”)%

----

---- 4.处理用户的谈话内容:首先要确定已经为Chat写入的谈话行数,为方便阅读,在这里将显示行数限定为10行,如果Application(“gcounter”)大于9,则将其置为0,然后将谈话者姓名和内容一起存放到Application(“gchars”)数组中:

Application(“gchars”)

(Application(“gcounter”))=Session(“ssname”)

“:” request(txttalk)

然后将计数器加1:Application(“gcounter”) =Application(“gcounter”)+1

---- 5.将数组内容写入到客户的浏览器中:用户提交谈话内容后,程序必须将数组内容写到客户的浏览器中,让聊天室中的所有人都能看到被提交的谈话内容:

if application("gcounter")=0 then

lstemp=application("gchars")(0)

else

for x=0 to application("gcounter")-1

lstemp=lstemp " br " application("gchars")(x)

next

end if

---- 最后,用Response.write方法将lstemp变量的值写到客户的浏览器中去:

response.write lstemp

---- 下面给出Default.asp的完整代码:

%response.expires=0

response.buffer=true%

html head title Chat sample /title /head

body center

h3 我的聊天室 /h3 /center hr

% if request.servervariables("request_method")="POST" then

if len(request("txtname")) 0 then

session("ssname")=request("txtname")

end if

application.lock

mcounter=application("gcounter")

mchars=application("gchars")

if mcounter 9 then

mcounter=0

end if

mchars(mcounter)=session("ssname")

":" request("txttalk")

mcounter=mcounter+1

application("gcounter")=mcounter

application("gchars")=mchars

application.unlock

end if %

% if application("gcounter")=0 then

lstemp=application("gchars")(0)

else

for x=0 to application("gcounter")-1

lstemp=lstemp " br " application("gchars")(x)

next

end if

response.write lstemp %

hr center

form action="default.asp" method=post name="aspform"

b a href="default.asp"

更新显示 /a /b

h5 发言:

input type="text" name="txttalk" size="70" br

h5 您的姓名:

input type="text" name="txtname" length="20"

value= %=session("ssname")%

input type="submit" name="cmdpost" default="true" value="发送"

/form /center /body /html

---- 以上代码在NT4.0、IIS4.0、IE4.0中和Pwin98、PWS、IE4.0中分别运行通过。

跪求一套完整的asp简易的聊天室!!

以下是一个简易聊天室代码,代码摘自网上,可以做为参考。

%@ Language=VBScript %

%

Response.Buffer=true ' 设 置 输 出 缓 存,用 于 显 示 不 同 页 面。

On error resume next ' 忽 略 程 序 出 错 部 分

If Request.ServerVariables("Request_Method")="GET" then

'------------------------

' 客 户 登 陆 界 面 

'------------------------

%

form method="POST" action="luo40.asp"p

input type="text" name="nick" size="20" value="nick" style="background-color: rgb(192,192,192)"br

input type="submit" value=" 进 入 聊 天 室 " name="B1" style="color: rgb(255,255,0); font-size: 9pt; background-color: rgb(0,128,128)"

pinput type="hidden" name="log" size="20" value="1"br/p

/form

%

Response.End ' 结 束 程 序 的 处 理

Else

Response.clear ' 清 空 缓 存 中 的 内 容

dim talk

If Request.Form("nick")"" then

' 判 断 客 户 是 是 否 在 聊 天 界 面 中 

Session("nick")=Request.Form("nick")

End If

'------------------------

'客 户 聊 天 界 面 

'------------------------

%

form method="POST" action="luo40.asp" name=form1 p%=Session("nick")% 说 话:input type="text" name="talk" size="50"br

input type="submit" value=" 提 交 " name="B1"

input type="reset" value=" 取 消 " name="B2"/p

/form

A HREF="luo40.asp" 离 开 /abrbr

%

If Request.Form("log")1 then

If trim(Request.Form("talk"))="" then

' 判 断 用 户 是 否 没 有 输 入 任 何 内 容 

talk=Session("nick")" 沉 默 是 金。"

Else

talk=trim(Request.Form("talk"))

' 去 掉 字 符 后 的 空 格 

End If

Application.lock

Application("show")="table border='0' cellpadding='0' cellspacing='0' width='85%'trtd width='100%' bgcolor='#C0C0C0'/td/trtrtd width='100%'font color='#0000FF' 来 自 "Request.ServerVariables("remote_addr")" 的 "Session("nick")time" 说:/font"talk"/td/trtrtd width='100%' bgcolor='#C0C0C0'/td/tr/tablebr"Application("show")

Application.UnLock

Response.Write Application("show")

End If

End If

%

asp 实现一个简易的网上聊天室

用session实现,不过,你用户名不存数据库,你存哪时?TXT,这个速度太慢了.不建议

聊天室 asp 代码

html

head

title小小聊天室/title

/head

%

Session("user_name")=Request("user_name") '将用户昵称保存到session中

'下面几句返回来访者信息

Dim sayStr

sayStr="来自" Request.ServerVariables("Remote_Addr") "的" '来访者IP地址

sayStr=sayStr "b" Session("user_name") "/b" '来访者昵称

sayStr=sayStr "于" Time "大驾光临" '来访时间

sayStr="font color='red'" sayStr "/font" '红色显示

'下面几句将来访信息保存到Application中

Application.Lock '先锁定

Application("show")= sayStr "br" Application("show") '返回聊天信息

Application("user_online")=Application("user_online")+1 '在线人数加1 Application.Unlock '解除锁定

%

frameset rows="*,14%"

frame name="main" src="main.asp"

frame name="input" src="input.asp"

noframes

body scroll="no"

p此网页使用了框架,但您的浏览器不支持框架。/p

/body

/noframes

/frameset

/html

**********************以上为CHAT.ASP****************

%

'下面几句返回离开者信息

Dim sayStr

sayStr="来自" Request.ServerVariables("Remote_Addr") "的" '来访者IP地址

sayStr=sayStr "b" Session("user_name") "/b" '来访者昵称

sayStr=sayStr "于" Time "高兴而去" '离开时间

sayStr="font color='red'" sayStr "/font" '红色显示

'下面几句将来访信息保存到application中

Application.Lock '先锁定

Application("show")= sayStr "br" Application("show")

Application("user_online")=Application("user_online")-1 '在线人数减1

Application.Unlock '解除锁定

Response.Redirect "index.asp" '重定向回首页

%

******以上为exit.asp****************

html

head

title聊天室/title

Script Language="JavaScript"

!--

function check_Null(){

if (document.form1.user_name.value==""){

alert("昵称不能为空!");

return false;

}

return true;

}

// --

/Script

/head

body

h2 align="center"小小聊天室/h2

center

现在共有%=Application("user_online")%人在线p

form method="post" action="chat.asp" name="form1" onsubmit="JavaScript: return check_Null();"

请输入昵称input type="text" name="user_name" size="10"

input type="submit" value=" 进 入 "

/form

/center

/body

/html

************以上为index.asp*******************

html

head

title发言区/title

/head

body bgcolor="#FFFFCC" topmargin="0" leftmargin="0" onload="document.form1.say.focus();"

form method="post" action="" name="form1"

发言:

input type="text" name="say" size=40

input type="submit" value="发言"

br

颜色:

select name="mycolor" style="font-size:12px"

% If Request("mycolor")="#000000" Then %

option value="#000000" style="color:#000000" selected黑色/option

% Else %

option value="#000000" style="color:#000000" 黑色/option

% End If %

% If Request("mycolor")="#FF0000" Then %

option value="#FF0000" style="color:#FF0000" selected红色/option

% Else %

option value="#FF0000" style="color:#FF0000" 红色/option

% End If %

% If Request("mycolor")="#FFFF00" Then %

option value="#FFFF00" style="color:#FFFF00" selected黄色/option

% Else %

option value="#FFFF00" style="color:#FFFF00" 黄色/option

% End If %

% If Request("mycolor")="#3333FF" Then %

option value="#3333FF" style="color:#3333FF" selected蓝色/option

% Else %

option value="#3333FF" style="color:#3333FF" 蓝色/option

% End If %

/select

表情:

select name="myemote" style="font-size:12px"

option value="无" selected无

option value="回眸一笑"回眸一笑

option value="幸灾乐祸"幸灾乐祸

option value="号啕大哭"号啕大哭

option value="拳打脚踢"拳打脚踢

option value="气急败坏"气急败坏

option value="温柔细语"温柔细语

option value="得意非凡"得意非凡

option value="大惊失色"大惊失色

/select

a href="exit.asp" target="_top"离开聊天室/a

/form

%

IF Request("say")"" Then

'获取发言的有关信息

Dim say,mycolor,myemote,user_name '声明变量待用

user_name=Session("user_name") '返回用户昵称

say=Server.HtmlEncode(Request("say")) '返回发言,并用HtmlEncode编码

mycolor=Request("mycolor") '返回本次发言的颜色

myemote=Request("myemote") '返回本次发言表情

If myemote="无" Then

myemote=""

End If

'下面三句将得到本次发言的字符串

Dim sayStr

sayStr="small" user_name Time myemote "说:/small"

sayStr=sayStr "font color='" mycolor "'" say "/font"

'下面几句将本次发言信息保存到Application中

Application.Lock '先锁定

Application("show")= sayStr "br" Application("show")

If Len(Application("show"))10000 Then '如果发言总长度超过10000个字符,则截断为10000

Application("show")=Mid(Application("show"),1,10000)

End If

Application.Unlock '解除锁定

End If

%

/body

/html

**************以上为input.asp***************

html

head

title 发言区/title

meta http-equiv="refresh" content="5"

/head

body

%

Response.Write Application("show") '显示聊天内容

%

/body

/html

************以上为main.asp***************

asp网络聊天室设计报告及代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于网络程序设计asp、asp网络聊天室设计报告及代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/26724.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载