flex flashplayer 程序 和 air 程序 通过 LocalConnection 通信
flashplayer 做控制端:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent; private var conn:LocalConnection; protected function init(event:FlexEvent):void
{
conn = new LocalConnection;
conn.addEventListener(StatusEvent.STATUS,statusHandler);
} private function statusHandler(evt:StatusEvent):void
{
switch (evt.level) {
case "status":
trace("LocalConnection.send() succeeded");
break;
case "error":
trace("LocalConnection.send() failed");
break;
}
} protected function pressedHandler(event:MouseEvent):void
{
var obj:Object = {name:txt.text,age:30};
conn.send('_connectionName3','methodName',obj);
} ]]>
</fx:Script>
<s:layout>
<s:VerticalLayout/>
</s:layout>
<s:TextInput id="txt"/>
<s:Button label="test" click="pressedHandler(event)"/>
</s:Application>
air 做客户端:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" close="windowedapplication1_closeHandler(event)"
creationComplete="init(event)">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent; private var conn:LocalConnection; protected function init(event:FlexEvent):void
{
conn = new LocalConnection;
conn.client = this; conn.allowDomain("*"); try {
conn.connect('_connectionName3');
conn.addEventListener(StatusEvent.STATUS,statusHandler);
} catch (error:ArgumentError) {
trace("Can't connect...the connection name is already being used by another SWF");
}
} private function statusHandler(evt:StatusEvent):void
{
switch (evt.level) {
case "status":
trace("LocalConnection.send() succeeded");
break;
case "error":
trace("LocalConnection.send() failed");
break;
}
} public function methodName(param:Object):void
{
if(param)
{
Alert.show("姓名:" + param.name);
}
} protected function windowedapplication1_closeHandler(event:Event):void
{
if (conn)
conn.close();
} ]]>
</fx:Script> </s:WindowedApplication>
client 对象绑定的对象可以是动态或普通类,其中中要访问的方法一定要是public的,或者直接绑定的类似这样:
conn.client = {methodName:function(o:Object):void{
Alert.show(o.name);
}};
flex flashplayer 程序 和 air 程序 通过 LocalConnection 通信的更多相关文章
- 【Abode Air程序开发】Flex air文件打包和运行
1 安装Adobe AIR 运行时,和java的JVM类似. Adobe AIR 运行时允许在桌面运行AIR应用程序,脱离游览器的束缚. 下载安装文件http://get.adobe.com/cn/a ...
- 【Adobe Air程序开发】用Adobe Flex3开发AIR应用程序–入门指南
1 安装Adobe AIR 运行时,和java的JVM类似.Adobe AIR 运行时允许在桌面运行AIR应用程序,脱离游览器的束缚.下载安装文件http://labs.adobe.com/downl ...
- 【Abode Air程序开发】打包并导出
打包并导出 将移动设备应用程序打包并导出到在线商店 导出用于发行的 Android APK 包 导出用于发行的 Apple iOS 包 使用命令行进行创建.测试和部署 使用 mxmlc 编译手机应用程 ...
- [ActionScript 3.0] 安全沙箱的类型sandboxType,判断当前程序是AIR还是web程序
表示其中正在运行执行调用的 文件的安全沙箱的类型. Security.sandboxType 具有下列值之一: remote (Security.REMOTE):此文件来自 Internet URL, ...
- Flash builder发布Air程序时设备配置文件supportedProfiles的配置
1. 发布的程序:需要访问本地进程,那么只能发布为exe程序才可以. 此时supportedProfiles 配置为 extendedDesktop desktop desktop保证能发布a ...
- 好程序与差程序Good Programming, Bad Programming
好程序与差程序 Good Programming, Bad Programming 发布时间: 2012-11-20 16:32:21| 阅读数:2,735 views 优秀的程序可以使复杂的东西看起 ...
- 改善C#程序,提高程序运行效率的50种方法
改善C#程序,提高程序运行效率的50种方法 转自:http://blog.sina.com.cn/s/blog_6f7a7fb501017p8a.html 一.用属性代替可访问的字段 1..NET ...
- 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案
方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...
- java基础,继承类题目:编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E
21.编写一个Java应用程序,该程序包括3个类:Monkey类.People类和主类 E.要求: (1) Monkey类中有个构造方法:Monkey (String s),并且有个public vo ...
随机推荐
- 【C#】聊聊不需要记密码的密码管理
密码管理(Password Management)肯定所有人都不会陌生,密码管理的来源也是来自于实际需求,当人们需要使用到密码的场景越来越多,场景也越来越复杂,密码的记录就成为了“难题”和“负担”,很 ...
- 读取xml并将节点保存到Excal
using NPOI.HPSF; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System; using System.Coll ...
- MySQL 常用命令大全2
下面贴出我在实际工作中遇到mysql操作数据表的sql命令,如有不对的地方,请多指教: c++链接mysql头文件命令 g++ is_in_polygon.cpp -o is_in_polygon - ...
- opengl离屏渲染(不需要和窗口绑定,仅当作一个可以渲染一张图片的API使用)+ opencv显示
具体过程参考的是这篇BLOG: http://wiki.woodpecker.org.cn/moin/lilin/swig-glBmpContext 这一片BLOG的代码有个 BOOL SaveBmp ...
- VC 编程ANSI环境下读写Unicode文件
没有注意到文件编码的不同会产生这么多的问题,在动手以前查询了很多资料,在本博客中收藏了不少先辈的成果,在这里一并表示致敬! 关于ANSI和Unicode编码的原理在这里也不说了,主要讲下如 ...
- VS简单注释插件——VS插件开发续
VS简单注释插件——VS插件开发续 前些时候,我写过一篇<VS版权信息插件——初试VS插件开发小记>分享过一个用于添加注释信息的插件,但那个插件有几个问题: 不能添加带块注释(/**/), ...
- java链接mysql数据库
package com.DateSystem; import java.sql.Connection; import java.sql.DriverManager; import java.sql.S ...
- Hibernate的clear(),flush(),evict()方法详解
1.Clear 方法 无论是Load 还是 Get 都会首先查找缓存(一级缓存) 如果没有,才会去数据库查找,调用Clear() 方法,可以强制清除Session缓存. 例: 这里虽然用了2个get方 ...
- android sqlite使用之模糊查询数据库数据的三种方式
android应用开发中常常需要记录一下数据,而在查询的时候如何实现模糊查询呢?很少有文章来做这样的介绍,所以这里简单的介绍下三种sqlite的模糊查询方式,直接上代码把: package com.e ...
- Android消息推送之GCM方式(一)
<声明> 转载请保留本来源地址: http://blog.csdn.net/wzg_1987/article/details/9140371 首先,你需要使用一个谷歌账号登录谷歌Api控制 ...