首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页编程ASP代码

利用ASP开发网络聊天室

来源: 互联网    日期:2007-1-13 15:09:35
 

    经常在Internet上冲浪的网友恐怕很少有人没有去过聊天室胡乱神聊。你只要稍微留意一下就会发现这些聊天室大多是用CGI程序或者用JAVA开发的Applet维护的。开发过这类CGI或Applet的程序员都知道,这种开发工作是费时费力的。那么有没有一种更简单、省力的开发方式呢?答案是肯定的。
    
    关于ASP的介绍有许多计算机杂志介绍过,在这里不在赘述。
    
    一、聊天室的规划:
    
    1、谈话内容储存方式的选择:在客户机上显示即时谈话的内容应以什么方式储存在服务器呢?ASP有两种选择,一种是以文本文件方式,一种是以数据库方式。但笔者感觉ASP对文本文件操作的指令远不如ADO(ActiveDataObject)提供的对数据库操作的指令多。所以利用ADO,ASP能对数据库灵活地操作,比如插入、删除、更新、查询等等。笔者选择Access数据库来储存谈话的内容。该数据库内容只保留一天(可根据LAN的实际情况确定时间长短)的谈话内容。
    
    2、聊天室界面的设计:为了客户能够方便地浏览站点的内容,又能尽可能地显示聊天室的内容,笔者在一幅主页里设计了三帧。左边一帧显示的是站点的Index。右边一帧又分成上下两帧。上帧占70%,用来显示当前聊天室的内容;下帧占30%,用来提供一个文本输入框和供用户反馈的按钮。
    
    3、进入聊天室的步骤:象大多数聊天室一样,首先应该提供给用户一个登录界面,由用户输入自己的名字或别名和自己随意给定的密码。如果输入的用户名与线的用户名相同,则提示用户重新选择用户名或重新输入密码,以保证在线的所有用户名都是唯一的。登陆成功后进入聊天室,内容显示帧显示“欢迎加入”的欢迎信息。用户就可以在文本输入区内输入谈话内容了。
    
    二、设计过程和开发技巧:
    
    1、设计ODBC系统数据源:如前所述,本开发采用ASP对ADO进行操作,因此必须先对数据源进行设置。在NT服务器的控制面板里双击ODBC图标,在系统DSN页添加系统DSN,选择MicrosoftAccessDriver,DataSourceName为‘fybchat’,Database选择Chat目录下的chat.mdb.该数据库包括下面几个字段:name,content,password,chattime,chatdate,分别以来存储姓名、谈话内容、密码、谈话时间和谈话日期。
    
    2、登录界面设计:登录界面为一html页,包含一些警告信息和一个Form。该Form以来获取帐号和密码,如下所示:
    
     [转自:711网络工作室 http://www.tc711.com]

<formmethod="post"action="receivedata.asp">帐号:
    <inputtype="text"name="usname">密码:
    <inputtype="password"name="uspassword">
    </center><br><br><center>
    <inputtype="submit"value="进入">
    <inputtype="reset"value="重填">
    </center>
    <inputtype="hidden"name="content"value="">
    </form>

    通过提交按钮来激发receivedata.asp。该ASP文件主要来保证在聊天室里没有两个用户是同帐号的。用户提交信息后,该文件打开chat.mdb检查是否已经有该帐号,如果有但密码不对就提醒用户重新输入密码,如果没有那么用户就顺利进入了聊天室。进入聊天室界面的功能由下列语句完成: [转自:711网络工作室 http://www.tc711.com]

<FRAMESETROWS="70%,30%">
    <FRAMESRC="forum.asp"NAME="main"MARGINWIDTH="1"
    MARGINHEIGHT="1"Noresize>
    <FRAMESRC="frft.asp?kname=<%=name%>"NAME="footnotes"
    MARGINWIDTH="1"Noresize>
    </FRAMESET>

    注意这里有一个技巧,通过参数kname将用户的帐号隐藏在客户的浏览器里面了,这样一来,用户每次提交谈话内容的同时也把他的帐号提交了。
    
    3、文本输入区的设计:文本输入区是由frft.asp产生的。如上所述,用户每次提交谈话内容的同时也把他的帐号提交了,用户提交谈话内容的动作是激活forum.asp。forum.asp的作用是刷新聊天室的内容。Frft.asp内容如下:

    <!DOCTYPEHTMLPUBLIC"-//IETF//DTDHTML//EN">
    <html>
    <head>
    <metahttp-equiv="Content-Type"content="text/html;charset=gb_2312-80">
    <metaname="GENERATOR"content="MicrosoftFrontPage2.0">
    <title>
    </head>
    <body>
    <%kname=request.QueryString("kname")%>
    <basetarget="main">
    <formname="fm1"method="POST"action="forum.asp">
    <palign="center"><inputtype="text"size="90"name="content"><palign="center"><inputtype="button"name="B1"value="提交/刷新">
    <inputtype="reset"name="B2"value="重写"></p>
    <inputtype="hidden"name="kname"value=<%=kname%>>
    </form>
    <SCRIPTLANGUAGE="VBScript">
    <!--
    SubIeTimer1_Timer()
    iffm1.content.value=""then
    fm1.content.value=""
    fm1.submit
    endif
    endsub

    subb1_onclick()
    fm1.submit
    fm1.content.value=""
    endsub
    -->
    </SCRIPT>
    <OBJECTID="IeTimer1"WIDTH=39HEIGHT=39CLASSID="CLSID:59CCB4A0-727D-11CF-AC36-00AA00A47DD2"CODEBASE="http://208.208.208.201/asp/ietimer.ocx">
    <PARAMNAME="_ExtentX"VALUE="1005">
    <PARAMNAME="_ExtentY"VALUE="1005">
    <PARAMNAME="Interval"VALUE="7000">
    </OBJECT>
    </body>
    </html>

    这时又出现了一个问题,用户必须不停提交才能看到最新的聊天室内容,这显然给用户带来了不便。于是考虑用一个timer的ActiveX控件来控制聊天室的内容岂不更好?于是选用了Ietimer,如上<object>……</object>所引用,每隔7秒钟聊天室内容自动更新一次。这样即使用户不想参加聊天也可以坐在机器边看别人聊天了。
    
    三、总结
    
    由上述开发过程我们可以知道,利用ASP程序可以很灵活地传递参数,并且可以很灵活地将程序流程分割成几个单独的ASP程序,非常利于程序的调试,对ActiveX控件的支持和对DAO的强大操作能力使得利用ASP能够开发功能非常强大的程序。
    



更多的利用ASP开发网络聊天室请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2007-1-13 15:09:35   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报