`
AquariusM
  • 浏览: 147173 次
  • 性别: Icon_minigender_1
  • 来自: 南阳
社区版块
存档分类
最新评论

2010年7月27号---ActionScript 之数据通信xmlSocket与Loader

阅读更多

先贴出来一个数据通信的例子:

参考例子:

http://hi.baidu.com/%D3%EA%BA%F3%B5%C4%B5%AD%C0%B6%C7%E7%BF%D5/blog/item/3edcec3212c161f21b4cff2a.html

 

首先创建flash端:在主场景第一层第一帧上放入所需要控件一个两个输入文本框一个输入字符串一个输入数字,一个提交按钮,一个现实服务器返回的数据的动态文本框

再新建一层,再第一帧写入以下代码:

 

this.send_btn.addEventListener(MouseEvent.CLICK,fasong);

function fasong(event:MouseEvent):void {

var variables:URLVariables = new URLVariables();

variables.usename=this.shuru.text;

variables.word=this.shuru2.text;

var url:String="http://localhost:8080/demo3/sentVar.jsp";

var r:URLRequest=new URLRequest(url);

r.data=variables;

r.method=URLRequestMethod.POST;

var loader:URLLoader = new URLLoader();

loader.dataFormat=URLLoaderDataFormat.VARIABLES;

loader.addEventListener(Event.COMPLETE,wancheng);

try {

loader.load(r);

} catch (error:Error) {

trace("加载错误");

}

 

}

function wancheng(event:Event):void {

var my:URLLoader=URLLoader(event.target);

trace(my.data);

trace(my.data.a);

    trace(my.data.b);

this.jieshou.text=my.data.a;

 

   this.jieshou2.text=my.data.b;

}

 

然后在/demo3/sentVar.jsp中写入:

<%@ page language="java" import="java.util.*" contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

    <base href="<%=basePath%>">

 

    <title>My JSP 'jsj.jsp' starting page</title>

 

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">    

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

 

<script lanaguage="javascript">

  var xmlHttp;

  function createXMLHttpRequest(){

    if(window.ActiveXObject)

       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

    else if(window.XMLHttpRequest)

       xmlHttp=new XMLHttpRequest();

  }

 

  function startRequest(){

    createXMLHttpRequest();

    xmlHttp.open("GET","sentVar.jsp",true);

    xmlHttp.onReadystatechange=function(){

      if(xmlHttp.readyState == 4 && xmlHttp.status == 200)

         alter("服务器返回:" + xmlHttp.responseText);

    }

  }

 

  window.onload=function(){

    application.setAttribute("user","session!");

  }

</script>

 

</head>

 

<body>

    <%

    System.out.println("开始获取数据");

    String name = request.getParameter("usename");

    String password = request.getParameter("word");

 

    Integer pass=0;

    if(password!=null){

    pass = Integer.parseInt(password);

    pass=pass+4;

    }

    if(name!=null){

      application.setAttribute("user",name);

      application.setAttribute("word",String.valueOf(pass));

    }

 

    System.out.println("获取数据成功"+name);

    out.clear();

 

    out.println("a="+application.getAttribute("user")+"Success!"+"b="+application.getAttribute("word"));

 

 

    System.out.println("发送数据成功");

    %>

</body>

 

</html>

 

这样启动tomcat就可以完成数据通信。

 

还有一种方法就是利用xmlsocket,但是现在还没完全弄明白,因为如果用这个的话,要是用tomcat作为服务端的话会出现沙箱安全问题。先贴出来写的代码,后续工作继续中。。。

 

 

package{

import flash.display.Sprite;

import flash.events.*;

import flash.net.XMLSocket;

public class send extends Sprite{

private var socket:XMLSocket;

var xmldata:XML=

<login>

  <user>

    <name>jack</name>

<password>1111</password>

  </user>

</login>;

public function send(){

socket = new XMLSocket();

socket.addEventListener(Event.CONNECT,onConnect);

socket.connect("localhost",8080);

socket.send(xmldata);

}

private function onConnect(event:Event): void{

trace("The socket is now connector...");

}

}

}

分享到:
评论

相关推荐

    行业文档-设计装置-基于ActionScript3.0平台网络远程数据抓取的互动展示装置.zip

    《基于ActionScript3.0平台网络远程数据抓取的互动...不仅涵盖了AS3的基本语法和特性,还涉及了网络通信、数据解析、UI设计等多个方面,对于想要学习或提升ActionScript3.0技能的开发者来说,是一份宝贵的参考资料。

    flash actionscript3游戏开发之as3的socket通信方式介绍即使用XMLSocket.zip

    在Flash ActionScript3游戏开发中,Socket通信是实现客户端与服务器之间实时互动的重要技术手段。本文将深入探讨AS3中的Socket通信方式,特别是利用XMLSocket进行网络交互的细节。 首先,XMLSocket是AS3中用于低级...

    FLASH通过XMLSocket与VB后台通信代码

    - 如文件中的"game",可能是一个Flash游戏,利用XMLSocket与VB后台进行实时数据交互,如玩家动作同步、游戏状态更新等。 总结起来,FLASH通过XMLSocket与VB后台通信是一种常见的技术手段,尤其适用于实时交互的...

    Flex精品 - 3天学透ActionScript3

    《Flex精品 - 3天学透ActionScript3》是一份高度浓缩的学习资源,旨在帮助学习者在短时间内掌握ActionScript3的核心概念和应用技巧。ActionScript3是Adobe Flex开发中的主要编程语言,它在构建富互联网应用程序(RIA...

    ActionScript 3.0 与网络通信

    ActionScript 3.0 与网络通信 1. flash.net.*包 2. 在ActionScript 3.0中,使用URLLoader和URLRequest类来加载外部文件。 加载成功的文件可使用特定类来访问数据,具体使用何类,取决于加载数据的数据类型。 1&gt; ...

    FLEX--本地播放器(ActionScript 3.0实现)

    2. **NetConnection**:负责与服务器建立连接,以便于获取视频数据。 3. **NetStream**:在连接建立后,通过NetStream对象可以控制视频的播放、暂停、停止等操作,并处理视频数据的传输。 4. **播放控制(Playbar...

    actionscript与JavaScript通信

    jsp 就是 servlet,因此能和 jsp 通信也就能和 servlet 通信。当然与 php, asp 通信方法也都是这样的

    ActionScript---ActionScript

    ActionScript---ActionScript

    04.ActionScript 3.0本地通信pdf

    《ActionScript 3.0本地通信》是针对AS3编程技术的一个重要篇章,主要探讨了在Flash Player或Adobe AIR环境中如何实现本地数据的存取和交互。ActionScript 3.0作为Flash平台的核心脚本语言,其在本地通信方面的功能...

    flare06 -- SWF反编译成ActionScript

    总是会有人做这样的事情,不管是Java还是.Net,解析类的语言...darknet放出的 Flare让人们可以在Dos/Windows,Mac OS,Linux x86,Linux x86 64-bit,Solaris x86这些平台下,都可以将Flash的SWF反编译取出ActionScript。

    flash actionscript3 as3通信 教程 socket与服务器通信, 多个swf之间通信.zip

    flash actionscript3 as3通信 教程 socket与服务器通信, 多个swf之间通信.zip

    Flash教程-第八章-ActionScript编程完整版资料.ppt

    ActionScript是Adobe Flash中用于创建交互式动画和应用程序的核心编程语言。在Flash MX 2004中,ActionScript经历了显著的改进和发展,使得它成为一个更强大的脚本语言。本章详细介绍了ActionScript的基本语法、变量...

    SWF(ActionScript3.0)与JavaScipt(JS)通信示例

    今天花了一些时间整理出来了Swf 文件与JavaScript通信的示例,在此贴出供大家参考。 在ActionScript3.0与JavaScipt通信的时候需要用到ExternalInterface类。 “ExternalInterface”类是外部API,在ActionScript和...

    ActionScript3.0完全自学手册(1-10章源文件)

    ActionScript 3.0是Adobe开发的一种面向对象的编程语言,主要用于创建富互联网应用程序(RIA),尤其是Flash平台上的交互式内容。本资源是《ActionScript 3.0完全自学手册》前10章的源代码,是学习和实践...

    Flash.ActionScript.3.0动画教程.pdf

    - ActionScript 3.0还能够通过网络编程与服务器进行通信,如使用XMLSocket类进行实时数据交换。 知识点五:ActionScript 3.0的学习路径 - 学习ActionScript 3.0应从基础的编程概念开始,如变量、数据类型、运算符、...

    as和后台通讯 URLLoader(URLStream) FlashRemoting XMLSocket(Socket) FMS/FCS

    - 它们支持视频流、音频流以及使用AMF进行的高级数据通信,如FlashRemoting。 - FMS/FCS可以扩展Flash应用程序的功能,例如实时视频聊天、多人游戏和实时数据共享。 - 通过FMS/FCS,开发者可以构建高度互动的应用...

    一个实现ActionScript 与JavaScript 进行相互通信的程序例子

    当需要在Flash内容与网页之间进行数据交换时,就需要实现ActionScript与JavaScript之间的通信。本程序例子旨在展示这种跨平台通信的实现方法。 ActionScript,基于ECMAScript,是Adobe Flash Player和Adobe AIR中的...

    ActionScript-3.0-Cookbook

    - **使用Flash Remoting and web services实现远程过程调用**:教授如何利用Flash Remoting 和web服务实现客户端与服务器之间的通信。 - **读取、发送和搜索XML数据**:介绍处理XML数据的最佳实践,包括解析、生成和...

    ActionScript

    6. **网络通信**:ActionScript支持通过Socket、XMLSocket、URLLoader等类进行网络通信,可以用来加载外部数据(如XML、JSON),实现与服务器的交互。 7. **音频和视频处理**:通过Flash Media Server和NetStream类...

Global site tag (gtag.js) - Google Analytics