| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 276 人关注过本帖
标题:[求助]关于简单聊天室改进问题!
收藏  订阅  推荐  打印 
gupiao175
Rank: 3Rank: 3
等级:中级会员
帖子:292
积分:3350
注册:2007-6-27
[求助]关于简单聊天室改进问题!


call.asp代码如下:


<!--STATUS OK-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>


<title>简单聊天室 </title>
<meta http-equiv="refresh" content="5;url=call.asp">
</head>
<body>
<form method="POST" action="call.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)">
<p><input type="hidden" name="log" size="20" value="1"><br></p>
</form>

<%
Response.Buffer=true ' 设 置 输 出 缓 存,用 于 显 示 不 同 页 面。
On error resume next ' 忽 略 程 序 出 错 部 分
If Request.ServerVariables("Request_Method")="GET" then
' 判 断 客 户 是 以 什 么 方 式 请 求 WEB 页 面
'------------------------
' 客 户 登 陆 界 面
'------------------------


Response.End ' 结 束 程 序 的 处 理
Else
Response.clear ' 清 空 缓 存 中 的 内 容
dim talk
If Request.Form("nick")<>"" then
' 判 断 客 户 是 是 否 在 聊 天 界 面 中
Session("nick")=Request.Form("nick")
End If
'------------------------
'客 户 聊 天 界 面
'------------------------
%>

<form method="POST" action="call.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="tuichu.asp"> 离 开 </a><br><br>

<%
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%'><tr><td width='100%' bgcolor='#C0C0C0'></td></tr><tr><td width='100%'><font color='#0000FF'> 来 自 "&Request.ServerVariables("remote_addr")&" 的 "&Session("nick")&time&" 说:</font>"&talk&"</td></tr><tr><td width='100%' bgcolor='#C0C0C0'></td></tr></table><br>"&Application("show")
Application.UnLock

Response.Write Application("show")
End If
End If
%>
</body>
</html>

上面为简单聊天室代码,可是结果是对方已经把要说的内容发出来了,而我方这里却需要点提交才能刷新看到对方的文字,能否改变增加一些代码来达到即时显示对方发送的内容,大家一起来研究下!改进和完善它!有兴趣的可以留言!谢谢!

搜索更多相关主题的帖子: 聊天室  call  name  nick  
2007-7-29 19:13
gupiao175
Rank: 3Rank: 3
等级:中级会员
帖子:292
积分:3350
注册:2007-6-27
回复:(gupiao175)[求助]关于简单聊天室改进问题!

上面为简单聊天室代码,可是结果是对方已经把要说的内容发出来了,而我方这里却需要点提交才能刷新看到对方的文字,能否改变增加一些代码来达到即时显示对方发送的内容,大家一起来研究下!改进和完善它!有兴趣的可以留言!谢谢!

事上无难事,只盼有心人!
2007-7-29 19:16
愿望
Rank: 2
等级:注册会员
威望:1
帖子:111
积分:1260
注册:2007-7-28

无非就两个办法:
一个是在 meta 中设置页面自动刷新
另一个用 AJAX

2007-7-29 19:25
gupiao175
Rank: 3Rank: 3
等级:中级会员
帖子:292
积分:3350
注册:2007-6-27

没用的,我上面的代码只刷一次,不知道为什么??

而且这样刷新,连自己都来不及输入就被刷新了,这样实际用法上很不方便和实际,是否有更好的代码方法,请教下高手把上面的代码进行改进!非常谢谢!


事上无难事,只盼有心人!
2007-7-29 19:35
愿望
Rank: 2
等级:注册会员
威望:1
帖子:111
积分:1260
注册:2007-7-28

最好的还是用 ajax(一般还要求必须用 javascript),可以实现“无刷新”效果
但是牵扯到的东西太多太杂,真要做的话估计最少也要 1-2 小时
如果不是要学习 ajax 技术,还不如用现成的了
要学的话可以买一本《征服 Ajax》看看,经典图书

2007-7-29 19:39
willam
Rank: 3Rank: 3
等级:中级会员
帖子:237
积分:2662
注册:2007-7-13

你的聊天室是用框架,,你设成只刷新显示的内容,,

2007-7-29 22:57
willam
Rank: 3Rank: 3
等级:中级会员
帖子:237
积分:2662
注册:2007-7-13

不知行不行,,,我也是菜鸟一个
2007-7-29 22:58
gupiao175
Rank: 3Rank: 3
等级:中级会员
帖子:292
积分:3350
注册:2007-6-27

大家继续讨论,如何不依靠AJAX,而只依靠ASP和其脚本语言来完成,大家一起努力呀!别留下死角!谢谢!


事上无难事,只盼有心人!
2007-7-31 10:53
zy78918
Rank: 3Rank: 3
等级:中级会员
帖子:209
积分:2194
注册:2007-7-18

2007-7-31 11:06
gupiao175
Rank: 3Rank: 3
等级:中级会员
帖子:292
积分:3350
注册:2007-6-27

楼上说的哪是什么聊天室,是论坛呀!晕倒!


事上无难事,只盼有心人!
2007-8-1 10:18
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.077958 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved