• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 网站开发 >> ASP教程 >> 文章内容
 

精彩推荐

 
 

本类推荐文章

  • ASP教程 插入Access记录后..
 
 

本类阅读排行

  • IIS的安装和配置全过程
  • ASP教程:制作登陆验证页面程..
  • www 56.com.cn 电影-www 56...
  • 分析器错误信息: 未能加载文..
  • “x365x”“纯爱社区”关键词..
  • ASP教程 插入Access记录后..
  • 动网论坛超级安装指南,新新人..
  • ASP乱码的解决方法 
  • 用ASP实现一个真正的注册页面..
  • Flash和ASP实现的用户登录/注..
  • 用ASP将数据读数导出EXCEL文..
  • 怎样在xp下配置iis
  • 去除空格的函数
  • 2000/XP IIS配置问题
  • ASP简介
  • ASP如何获取真实IP地址
  • LINE 的计数器源程序(附源代..
  • 用ASP发送邮件
  • 如何改进和维护你的留言板
  • 聊天室实现私聊(一)
 
 

聊天室建设详解一

  • 日期:2007-10-13     人气:     出处:     作者:
  • 字体大小:
  • 小
  • 中
  • 大

    一位精通程式设计的大师,在每开发一个项目的时候,往往要经过非常严密的计划,十分严格的求证,否则,辛辛苦苦开发的程序一旦中途发现问题,那往往都是前功尽弃,从头开始。特别是开发一个大型项目,那计划与求证过程比编写程序过程更为重要。

  然而,如果我们是一位程式设计的初学者,要让我们开发一个例程,我们的做法又往往与上面的做法相反。往往从最简单的实例开始,实现最初步的功能,然后在简单的基础上不断对程序加以改进、完善,使其功能不断增加,发展,强大。

  我自己有一个习惯:在设计一些中小程式时,我喜欢花更大的精力去探究、去发现它的难点部分,挖掘它的核心部分,然后从其核心开始进行实验性编程。一般一个程式往往有几个难点与核心部分。一旦这些核心部分完成实验,我们便可以胸有成竹的去对整个程式进行规划,如此便可较迅速的完成设计。

  我们要建设一个聊天室,首先,这个聊天室的整体概况要在我们脑海中要有一个初步的影像,在众多的公共聊天室中,其核心无非是:
  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、<meta http-equiv="refresh" content="4">
   这是一条最简单的页面自动刷新脚本,她是HTML脚本,而不是ASP脚本。很简单吧,其意思是每4秒钟刷新一次,但在使用过程中,你会发现会出现有不少问题出现。

相关文章
  • ASP实例:幻灯片新闻代码
  • ASP实例:ASP+AJAX制作无刷新新闻评论系统
  • QQ帮你突破网吧硬盘访问限制
  • 局域网内盗用IP的安全问题
  • 邮件安全攻略:只要糖衣不要炮弹
  • 手机病毒的分类及其防范措施
  • 如何防止黒客远程盗取QQ密码
  • 始料未及,谁在控制电脑重新启动
  • 网络常见木马的手工清除方法
  • 魔高一尺 道高一丈
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号  

感谢:点击网络 联网科技 天盈信息 中国E速网 59互联  提供服务器及带宽赞助