设计聊天室
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-10
我们要建设一个聊天室,首先,这个聊天室的整体概况要在我们脑海中要有一个初步的影像,在众多的公共聊天室中,其核心无非是: 1、聊天者把语句写入文本或数据库; 2、浏览器不断的对文本或数据库进行刷新、读取; 3、实时更新在线的客户; 4、管理员对聊天者进行踢或IP禁止操作。 若是一个初学程式设计,你能够实现写数据库、自动刷新、获取客户IP的实验,那么,实际上建设聊天室也就完成了一大半。首先,要完成这几个实验,我们至少要熟悉一些ASP脚本及一些SQL命令。 1、 <%IP=Request("REMOTE_ADDR")%> 您的IP地址为: <%=IP%> 这是一段获取客户IP的脚本,如果你看过《ASP教程》,你应该知道REMOTE_ADDR是 一个服务器环境变量,返回发出请求的远程主机(client)的IP地址。 2、 <% Set Conn=Server.CreateObject("ADODB.Connection") Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb) };" Conn.Open connstr sql="SELECT * FROM 在线用户表 WHERE 姓名=''''''''''''''''" & Request("name") & "''''''''''''''''" Set Rs=conn.Execute(sql) If Rs.Bof OR Rs.Eof Then sz = "''''''''''''''''" & Request("name") &_ "'''''''''''''''', ''''''''''''''''"& Request("D4") &_ "'''''''''''''''', ''''''''''''''''"& time1 & "''''''''''''''''" into_db = "INSERT INTO 在线用户表 ( 姓名, 性别, 登陆时间 ) VALUES(" &_ sz & ")" conn.Execute(into_db) end if %> 这是一段十分常见的对数据库操作的脚本,其中包含了对数据库的条件查询与记录添加。上面此段程序我们分三部分来分析,如上以空格分隔的三个部分。 要使用组件提供的对象,请创建对象的实例并将这个新的实例分配变量名。使用ASP的Server. CreateObject方法可以创建对象的实例,使用脚本语言的变量分配指令可以为对象实例命名,如下例: Set Conn=Server.CreateObject("ADODB.Connection") 这里的变量Conn 是ASP 程序创建的访问数据库的对象实例 。 我们要访问数据库,首先要必须知道这个数据库在哪里,这个数据库的驱动程序是什么,要指定这两点有两种方法:第一是在服务器端手动创建数据库源名、指定数据库路径、指定数据库驱动程序,这个方法是通过服务器端的控制面版中的 ODBC 来设置的。她的优点是可以限定数据库的访问权限,增加数据库的安全性,缺点是数据库不易移植。 再有一种方法是使用 ASP 来指定数据库路径及数据库驱动程序。不必手动对创建数据库源。在此例中,我们用的是第二种方法。 server.mappath("chat.mdb")指定数据库路径,DRIVER={Microsoft Access Driver (*.mdb)};指定数据库驱动程序,此例中我们使用的是MS ACCESS 数据库。 SELECT是 SQL 查询命令。sql="SELECT * FROM 在线用户表 WHERE 姓名=''''''''''''''''" & Request("name") & "''''''''''''''''" 表示查询 数据库chat.mdb中的 在线用户表 中所有姓名等于Request("name")的人,Request("name")是读取表单中名为 NAME 的数据。 Bof 是文件开头,Eof是文件结尾。If Rs.Bof OR Rs.Eof Then...语句往往用于判断数据库中是否存在符合条件的记录,如果为真则记录不存在,如果为假则记录存在。 INSERT INTO是SQL中的插入命令,往往用于插入一条记录。 上面此段程序,整体的意思就是:查询数据库在线用户表中是否存在用户Request("name"),如果不存在这个用户则把这个用户添加到在线用户表中。 3、 这是一条最简单的 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 群球汇聚的效果下一篇: 格式化日期类SimpleDateFormat
关于设计聊天室的所有评论