当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP实现悄悄话的功能

ASP
asp生成三维饼图的函数
ASP下的简洁的多重查询的方法与函数 真不错
发一个ASP的ADODB类代码
A利用ASP小偷和Google实现在线翻译功能的代码
ASP类型网站结合动网论坛会员的方法
Asp下实现多表单域无组件文件上传的实例
asp制作中常用到的函数库集合
易心asp分页类 v1.0
asp中xmlhttp组件发包
检测是否为数字类型的asp代码
可以获得文件的文件名的asp函数
用asp实现访问远程计算机上MDB access数据库文件的方法
用ASP实现写IIS日志的代码
asp在IE浏览器中下载服务端上的各类文件的实现方法
asp汉字中文图片验证码的实现代码
asp WAP获取手机终端信息的一段代码
asp取得数组中的最大值的方法
用asp实现的截取指定格式字符串的代码
asp jmail发邮件 详细解析
ASP编程中连接数据库和数据库操作的常用代码

ASP 中的 用ASP实现悄悄话的功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 109 ::
收藏到网摘: n/a

      
  用ASP实现悄悄话的功能
  sense(自cpcw)
  
     我曾经做过一个比较复杂的聊天室,几乎拥有BBS聊天室的所有功能,但因为是用application做的,所以比较浪费资源。我觉得用数据库做更可靠,更简单。
  可以设定这样的一个数据库chat,结构如下:
  
  字段名 类型 长度 备注
  1.. OBJECT CHAR 10 操作对象,ALL或某人 
  2.. MSG CHAR 250 消息内容
  3.. TIME DATETIME 发送时间
  4.. SENDER CHAR 10 发送人
  5.. ROOM CHAR 10 房间名,发送人所处房间 
  
  在通常情况下OBJECT为ALL,当需要说悄悄话时可以指定某人。
  显示内容时,只要一句“Select * from chat where object='all' or object='" & session("userid") & "'"就可以了。session(”USER ID“)是当前用户的身份认证。
  如此,每个用户看到的聊天内容都是自己“应该”看到的。如果配合另外一些数据表,如ROOM,USER,则还可以完成诸如隐身、踢人、开房间、关房间、隐藏房间等功能,如果再加上一个表情配置文件EMOTE。TXT就可以做表情动作了。当然,这么做就需要在发送信息是有一个解释程序,用以判断用户输入的是何种命令,并相应修改数据表。
  roking:[email protected]
  
    先说一下整体构思:采用application对象保存所有聊天公用信息,如访问者ID、房间状态、公聊信息等,同时为每个人用Senssion对象保存和个人相关的信息,如:表情、颜色、谈话目标ID等。
    用户的显示区从application对象中取出公聊信息并加上针对自己的私聊一同显示。。。。
  
  
  nikl:[email protected]
  
  “悄悄话”只须用Application和Session两个内建对象就可以轻松实现具体如下,希望能帮到忙!
  
  在用户登陆时分别为他建立独立的Application & Session对象。例如有三个用户nikl hero viki在他们登陆时用ASP的Request分别取得三个用户名并存入一个变量(如name)然后作Session和Application的初始化:
  Session("Uname")=name
  Application(who)=""
  耳语信息存在变量 say 中,交谈对象存在who。例如:
  nikl to viki : 你吃饭了吗?
  服务器端执行代码,经过条件判断后执行耳语传入操作,谈话内容“你吃饭了吗?”及交谈对象“VIKI”并分别赋于变量 say 和 who; 信息(你吃饭了吗?)传 入Application("viki")中了(代码:Application(who)=say),目的用户端只要刷新Application(Session"Uname")变量就可以看到信息了,程序结束。
  请留意:
  在VIKI端的<%=Application(Session("name"))%>实际是<%=Application(VIKI))%> (在VIKI登陆时Session("Uname")已定义为“VIKI”并存在浏览器)因而,当信息内容框刷新时Session("Uname")将被“VIKI”替换,VIKI就可以看到NIKL发送来的耳语信息,而hero端<%=Application(Session("Uname"))%>实际是<%=Application(hero)%>这个变量是空的因而hero就看不到NIKL发送给VIKI的信息。就这样巧妙地完成了一次耳语的传送。