设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

酷!Flash聊天室的实现(1)

来源:136z.Com 作者:佚名 时间:2005-12-07 11:27:06


一、原理

  主要的流程是先在Flash端发送一个请求到服务器端,然后等待从服务器端的返回值,当值返回Flash端后,根据相应的值做相应的操作。在Flash部分,跟前面的教程一样,用到的主要都是loadVariables()函数和循环等待的技巧。在ASP部分,主要用到了global.asa文件和application()属性,先定义几个application对象,然后将要保持的内容放在application对象中,要用的时候,直接从application对象中取就是了。


  二、登陆


  登陆部分的基本原理是:在Flash端输入用户名和密码,通过ASP查询数据库,如果用户名和密码正确,就跳转到聊天主界面,否则就跳转到登陆失败界面。


  A、ASP部分


  1、 新建一个空白文件,命名为global.asa,内容如下:


<script language="vbscript" runat="server">
sub application_onstart
application("VisitorNum")=0
application("VisitorName")=""
application("AllCanSee")="<br>"
end sub
</script>


  注释:上面是一个global文件,定义了几个application对象,sub application_onstart的意思是在启动服务的时候触发,初始化这些对象。Application对象可以在几个网页之间保持内容,application("VisitorNum")中的是当前在线人数,application("VisitorName")中的是当前在线人员名单,application("AllCanSee")中的是当前的聊天内容。


  2、新建一个空白文件,命名为login.ASP,跟global.asa保存在同一个目录中,内容如下:


<%
username = request("username")    ‘注释1
userpwd = request("userpwd")
set conn=Server.CreateObject("ADODB.Connection")
conn.open "Driver={SQL Server};SERVER=127.0.0.1;DATABASE=pywz"         ‘注释2
set rs=Server.CreateObject("ADODB.Recordset")
strSql="select * from UserInfo where userid='" & username & "' and password='" & userpwd & "'"                                                    ‘注释3
rs.open strSql,conn, 1, 1    
if not(rs.bof and rs.eof) then                                          ‘注释4
 application("VisitorNum") = application("VisitorNum") + 1 
 application("VisitorName") = application("VisitorName") & "  " & username
    Response.Write ("userlogin=success")
Else
 Response.Write ("userlogin=unsuccess")                             ‘注释5
end if
rs.close
conn.close
%>


  注释1:取得从Flash端传过来的用户名和密码。
  注释2:打开一个数据库的连接,读者要根据数据库的类型,数据库所在的ip,数据库的实例名做相应的修改。
  注释3:根据用户名和密码构造一个sql语句。
  注释4:如果在数据库中存在所输入的用户名和密码,将application("VisitorNum")加1,将当前用户名保存在application("VisitorName"),返回登陆成功的标志位userlogin位success。
  注释5:用户名或密码错误,返回登陆失败的标志位userlogin位unsuccess

  B、Flash部分

  1、在属性面板上,将第一帧的“帧标签”设为“login”。在第一帧的Action面板中加上:
Stop();

  2、如图1所示,在场景中放置两个文本框,两个button,其中上面一个文本框的设置如图2所示,另一个文本框的设置如图3所示。


  3、新建一个组件,命名为“loginloop1”,在第一帧的Action面板中加上下面语句:


 

_root.count = 0;   
stop();
在第5帧上插入关键帧,在Action面板上加入下面的语句:
if (!(_root.userlogin)) {                                //注释1
 _root.count = _root.count + 1;
 if (_root.count > 50)                              //注释2
  {
   _root.gotoAndPlay("netfalse");

[1] [2]  下一页

Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: