快速业务通道

设计聊天室

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10
的记录是最新输入的记录,每添加一个记录,ID自动加1,由此,我们可通过ID来对用户的话进行从新到旧的、一句一句的排序输出。我们知道,在 SQL 的SELECT 语中有一个 ORDER BY的子句,他按一列或多列对结果进行升序或降序排序。如果我们不用ORDER BY 字句,那SELECT 默认为升序输出,那我们会看到,最旧的发言总是在前面显示,而最新的语句则跑到最后面去,那当然不是我们所希望的。
  2、再一点,那就是用户不断的往数据库中输入语句,数据库将会变得越来越大,而我们为了速度,我们不能也不必要读取全部的记录把所有的话显示出来,我们只需要看到最新的N句话比如最新的50句话就够了。如何实现上面两点,且来看看范例程序:
我们来分析一下下面的程序:
chatview.asp <%Response.Buffer=true%>                 设置缓存为真 <%                            指定数据库      
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
%> <%
sql="SELECT * FROM 聊天表 ORDER BY ID DESC"        降序输出查询结果    
Set rootRs=conn.Execute(sql)
set name=rootrs("姓名")                  从数据库中获取姓名、说话、颜色、表情等
set word=rootrs("说话")
set colo=rootrs("颜色")
set face=rootrs("表情")
set who=rootrs("说话对象")
%> <%i=0%>                          定义输出记录数 i
<%Do While Not rootRs.Eof and i<=50%>         显示50句话,包括姓名、话语、颜色、表情等
<%i=i+1%>



<%=name%><%=face%><%=who%>说:
''''''''''''''''><%=word%>


<%rootRs.MoveNext
Loop%>            每四秒钟刷新一次 请把此程序存为chatview.asp 我们试着在客户端用浏览器打开chatview.asp,我们果然看到自动刷新的页面,不错吧!下面,我们就要考虑如何把发言部分与刷新部分在同一个页面上显示:那需要用到框架。
  框架,那是最简单不过的了,直接用FrontPage即可构建。请看如下代码:


<BR><body><BR>This page uses frames, but your browser doesn''''''''''''''''t support them.<BR></body><BR>
请把这个程序存为chat.asp
哈哈,现在,我们在客户端输入:http://XXX.XXX/chat.asp
于是,便可以开始聊天了!
当很多人进入聊天室,把大量的话写入了我们的数据库中,于是,我们的数据库越来越大,记录越来越多,
而ACCESS数据库大小是有限制的,因此,总会有崩溃的一天,由此,我们必须使数据库大到一定程度的时候自动提醒我们,让我们删除掉比较旧的N条话语。或者让数据库自动到某一定大小时自动删除部分记录。
当一些不文明之徒进入聊天室,发布一些反动言论,我们必须把他踢掉,或者禁止他的IP,禁止N个钟头,尚或把他的IP列入黑名单,让他永远无法进入。 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号