酷!Flash聊天室的实现(1)
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-09
主要的流程是先在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"); _root.loginloop.gotoAndStop(1); } _root.loginloop.gotoAndPlay(2); } if (_root.userlogin |
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 给帧分配动作下一篇: Flash MX 2004新特性实例学习二(3)
关于酷!Flash聊天室的实现(1)的所有评论