深爱那片海 发表于 2015-1-16 23:45:33

ASP网页编程之使用ASP开辟收集谈天室

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


  <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检查是否已经有该帐号,如果有但密码不对就提醒用户重新输进密码,如果没有那么用户就顺利进进了聊天室。进进聊天室界面的功能由下列语句完成:


   <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
  --&gt</p>缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全

谁可相欹 发表于 2015-1-20 11:42:27

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

变相怪杰 发表于 2015-1-25 19:34:33

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

飘飘悠悠 发表于 2015-2-3 11:58:15

不能只是将它停留在纸上谈兵的程度上。

蒙在股里 发表于 2015-2-3 23:36:45

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

金色的骷髅 发表于 2015-2-27 04:08:03

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。

只想知道 发表于 2015-3-8 19:33:54

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

分手快乐 发表于 2015-3-16 12:44:24

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

灵魂腐蚀 发表于 2015-3-22 23:00:47

ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
页: [1]
查看完整版本: ASP网页编程之使用ASP开辟收集谈天室