`
yunzhongxia
  • 浏览: 648417 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

LocalConnection 介绍

 
阅读更多

       在flash平台中,swf之间的通信一般采用LocalConnection。例如,Alcon日志工具就是一个典型的例子。

 

       通信可以通过以下方式进行: 
         1 在一个 SWF 文件内
         2 在多个 SWF 文件之间
         3 在 AIR 应用程序的内容(基于 SWF 或基于 HTML)之间
         4 在 AIR 应用程序的内容(基于 SWF 或基于 HTML)和运行于浏览器中的 SWF 内容之间


         LocalConnection 对象只能在运行于同一台客户端计算机上的文件之间进行通信,但这些文件可以在不同的应用程序中运行。例如,浏览器中运行的文件和 Adobe AIR 中运行的 SWF 文件。

 

        ActionScript 3.0 中创建的 LocalConnection 对象可以与 ActionScript 1.0 或 2.0 中创建的 LocalConnection 对象通信。反之亦然。Flash Player 可自动处理不同版本 LocalConnection 对象间的通信。

 

        一个文件被称为发送方 文件,此文件包含要调用的方法。发送方文件必须包含一个 LocalConnection 对象和对 send() 方法的调用。另一个文件被称为接收方文件;此文件为调用方法的文件。接收方文件必须包含另一个 LocalConnection 对象和对 connect() 方法的调用。

send()connect() 的使用将有所不同,这取决于 文件是在同一个域中、在具有可预知域名的不同域中还是在具有不可预知域名(即动态域名)的不同域中。本文主要说明下不可预知不同域使用注意点,其他可以参考AS3参考文档。

 

      LocalConnection通过allowDomain(*)允许从所有域的调用,也可以通过调用多次allowDomain()方法来添加允许的域.在不可以预知的不同域中,需要在connectName的名称之前添加下划线(“_”)。

 

     使用LocalConnection需要注意下面几点:

     1 同一个域中使用LocalConection通信不要使用“_”开头来作为connectName,否则会是程序变慢。

     2 send数据内容限制为 40 千字节。

     3 LocalConnection是一个比较占内存的对象。

 

    下面是Alcon的代码,大于40K它是用ShareObject处理的。

 

    

                                                               /* If the data size exceeds 39Kb, use a LSO instead */
				if (s > 39000)
				{
					storeDataLSO(m, d);
					m = "onLargeData";
					d = null;
				}
				
				_connection.send("_alcon_lc", m, d, l, r, "");

 
      

/**
		 * Stores data larger than 40Kb to a Local Shared Object.
		 * 
		 * @private
		 */
		private static function storeDataLSO(m:String, d:*):void
		{
			var sharedObject:SharedObject = SharedObject.getLocal("alcon", "/");
			sharedObject.data["alconMethod"] = m;
			sharedObject.data["alconData"] = d;
			try
			{
				var flushResult:String = sharedObject.flush();
				if (flushResult == SharedObjectFlushStatus.FLUSHED)
				{
					return;
				}
			}
			catch (e:Error)
			{
				Security.showSettings(SecurityPanel.LOCAL_STORAGE);
			}
		}

 

 

0
8
分享到:
评论

相关推荐

    SWF之间通信、Flex与SWF之间通信

    本文将详细介绍SWF文件之间通信的方式,以及如何实现Flex与SWF之间的通信。 #### 一、SWF文件之间的通信 SWF文件之间的通信主要通过LocalConnection来实现。LocalConnection是一种允许在同一台计算机上运行的不同...

    flash与vc通信实例程序源码与说明

    在“说明.doc”文档中,可能详细介绍了创建和配置本地连接的过程,包括在ActionScript中创建LocalConnection对象,设置名称并监听消息,以及在VC中实现对应的接口来接收和响应这些消息。ActionScript的代码可能类似...

    利用Flex技术实现消息通讯、账号重复登录、一台电脑只允许一个账号登录等问题

    本文将详细介绍如何利用Flex技术解决消息通讯、账号重复登录以及限制一台电脑仅允许一个账号登录等问题。 #### 一、消息通讯的实现 Flex是一种强大的客户端开发技术,它可以很好地处理多媒体内容,并且能够通过...

    PROGRAMMING ACTIONSCRIPT 3.0

    - **示例**:提供了一个设置LocalConnection权限的例子,展示了如何控制对本地脚本的访问权限。 通过本手册的学习,开发者不仅可以掌握ActionScript 3.0的基本概念和语法,还能深入了解其高级特性和应用场景,为...

    ActionScript 3.0 Cookbook 中文版

    9. **本地存储**:讨论LocalConnection、SharedObject和FileReference,用于在用户计算机上存储和读取数据。 10. **错误处理**:介绍如何使用try-catch语句进行错误捕获,以及Error类的使用。 11. **性能优化**:...

    flex module实例

    通过以上介绍,我们可以了解到Flex模块的基本使用和通信机制。在实际开发中,灵活运用Flex模块可以极大地提升应用程序的可扩展性和性能。在ITEYE分享的这个实例中,开发者可能通过具体的代码示例和演示,详细展示了...

    Flash11开发帮助文档

    文档详细介绍了如何进行HTTP、FTP请求,以及如何使用LocalConnection实现本地应用间的通信。 六、与其他技术的集成 Flash 11还支持与HTML5、JavaScript的交互,通过ExternalInterface API,开发者可以将Flash内容...

    VBS脚本管理本地连接的网卡禁用启用

    本文详细介绍如何利用VBS脚本配合bat批处理实现“无线网络连接”与“本地连接”的自动切换,特别适用于需要频繁切换不同网络连接场景的情况。 #### 实现原理 此方案的核心在于通过VBS脚本来查找并控制指定名称的...

    Flash MX 2004 动作脚本字典概述

    6. **网络功能**:介绍加载外部数据(如XML、文本或图像)、发送HTTP请求(如XMLSocket)及使用LocalConnection进行本地通信。 7. **错误处理**:讨论如何使用try...catch语句进行错误捕获和处理。 8. **组件使用*...

    AS3殿堂之路笔记

    7. **网络通信**:AS3支持HTTP、Socket和LocalConnection等网络通信方式,使得开发网络应用变得简单。这部分内容将介绍如何进行HTTP请求和响应,以及数据的发送和接收。 8. **音频和视频处理**:AS3提供对音频和...

    Flex电子教案(PPT)

    7. **数据访问**:学习如何使用Flex与数据库交互,如通过 BlazeDS 或 LCDS 实现与Java后端的数据交换,以及使用LocalConnection进行本地存储。 8. **图形和动画**:掌握基本的绘图API,如Graphics类,以及如何创建...

    ActionScript3.0帮助

    3. **事件处理**:介绍AS3.0的事件模型,包括事件的派发、监听和处理,以及常见事件类型如MouseEvent和KeyboardEvent。 4. **显示对象**:关于Stage、DisplayObject、Sprite和MovieClip等类的使用,以及图形绘制、...

    完全手册Flex3.0RIA开发详解.rar

    9. **访问本地存储**:Flex支持使用LocalConnection和SharedObject进行本地数据存储,这对于离线应用或需要保存用户设置的情况非常有用。 10. **优化与性能**:书中可能会介绍提高Flex应用性能的技巧,如减少组件...

    Actionscript中文帮助文档

    这个中文帮助文档将详细介绍这些概念,并提供详细的API参考,帮助开发者快速查找和理解ActionScript 3.0中的各种功能。对于初学者,建议从基础语法和面向对象编程入手,逐步熟悉显示列表和事件处理,然后深入到更...

    asp.net实现的在线照相功能,大家可以改改

    通过Flash的Camera类,我们可以访问用户的电脑摄像头,然后利用LocalConnection对象与JavaScript进行通信,将捕获的图像传递到前端页面。 具体步骤如下: 1. **创建Flash组件**:在Flash中创建一个新的AS3项目,...

    as2.0内置类创建实例的命名技巧

    - **LocalConnection:** `_lc` (例如:`server_lc`) - **Microphone:** `_mic` (例如:`input_mic`) - **PrintJob:** `_pj` (例如:`print_pj`) - **NetConnection:** `_nc` (例如:`connection_nc`) - **NetStream:...

    AS3中文版帮助文档

    10. **本地存储**:通过LocalConnection和SharedObject类,AS3可以实现本地数据的存储和共享。 11. **ActionScript 3.0类库**:包括Flash Player API、Flash的内置类库如Math、Date、Array等,以及第三方库的使用...

    log相关知识

    2. **TraceTarget**:通过`trace()`函数将日志消息发送到本地连接(LocalConnection)。 这些默认的目标可能不足以满足所有场景的需求,比如当开发者希望将日志消息输出到特定的UI控件,如`TextArea`时。 #### 四、...

Global site tag (gtag.js) - Google Analytics