Referência do ActionScript® 3.0 para Adobe® Flash® Platform
Início  |  Ocultar listas de Pacotes e Classes |  Pacotes  |  Classes  |  Novidades  |  Índice  |  Apêndices  |  Por que inglês?
Filtros: AIR 30.0 e anterior, Flash Player 30.0 e anterior, Flash Lite 4
Flex 4.6 e anterior, Flash Pro CS6 e anterior
Ocultar filtros
flash.net 

LocalConnection  - AS3

Pacotesx

Nível superior
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Elementos de linguagem

Constantes globais
Funções globais
Operadores
Instruções, palavras-chave e diretivas
Tipos especiais

Apêndices

Novidades
Erros do compilador
Avisos do compilador
Erros de runtime
Migrando para o ActionScript 3
Conjuntos de caracteres suportados
Tags MXML apenas
Elementos XML de movimento
Marcas de texto cronometradas
Lista de elementos deprecados
Constantes de Implementação de Acessibilidade
Como Usar Exemplos do ActionScript
Aspectos jurídicos
Pacoteflash.net
Classepublic class LocalConnection
HerançaLocalConnection Inheritance EventDispatcher Inheritance Object

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

A classe LocalConnection permite que você crie um objeto LocalConnection que chama um método em outro objeto LocalConnection. A comunicação pode ser:
  • Em um único arquivo SWF
  • Entre vários arquivos SWF
  • Entre o conteúdo (com base em SWF ou HTML) nos aplicativos AIR
  • Entre o conteúdo (com base em SWF ou HTML) nos aplicativos AIR e o conteúdo SWF em execução em um navegador.

Suporte a perfil do AIR: este recurso conta com suporte em todos os sistemas operacionais de área de trabalho e em todos os dispositivos AIR for TV, mas não é compatível com dispositivos móveis. Você pode testar o suporte que em tempo de execução utilizando a propriedadeLocalConnection.isSupported. Consulte Suporte a perfil do AIR para obter mais informações sobre o suporte de API através de múltiplos perfis.

Nota: os dispositivos AIR for TV oferecem suporte a comunicação somente entre o conteúdo baseado em SWF em aplicativos AIR.

Conexões locais permitem esse tipo de comunicação entre arquivos SWF sem o uso de fscommand() ou JavaScript. Objetos LocalConnection apenas podem se comunicar entre arquivos em execução no mesmo computador cliente, mas podem estar em execução em diferentes aplicativos; por exemplo, um arquivo SWF em execução no Adobe AIR.

Objetos LocalConnection criados no ActionScript 3.0 podem se comunicar com objetos LocalConnection criados no ActionScript 1.0 ou 2.0. O inverso também é válido: Objetos LocalConnection criados no ActionScript 1.0 ou 2.0 podem se comunicar com objetos LocalConnection criados no ActionScript 3.0. O Flash Player manipula automaticamente essa comunicação entre objetos LocalConnection de diferentes versões.

Há três maneiras de adicionar métodos de retorno de chamada aos objetos LocalConnection:

  • Criar subclasse da classe LocalConnection e adicionar métodos.
  • Definir a propriedade LocalConnection.client como um objeto que implementa os métodos.
  • Criar uma classe dinâmica que estende o LocalConnection e anexar métodos dinamicamente.

Para compreender como usar objetos LocalConnection de modo a implementar a comunicação entre dois arquivos, é útil identificar os comandos usados em cada arquivo. Um arquivo é chamado de arquivo de recebimento e é o arquivo que contém o método a ser invocado. O arquivo de recebimento deve conter outro objeto LocalConnection e uma chamada ao método connect(). O outro arquivo é chamado de arquivo de envio e é o arquivo que invoca o método. O arquivo de envio deve conter outro objeto LocalConnection e uma chamada ao método send().

O seu uso de send() e connect() é diferente dependendo de os arquivos estarem no mesmo domínio, em domínios diferentes com nomes de domínio previsíveis ou em domínios diferentes com nomes de domínio imprevisíveis ou dinâmicos. Os parágrafos a seguir explicam as três diferentes situações, com amostras de código para cada uma.

Mesmo domínio. Essa é a maneira mais simples de usar um objeto LocalConnection, para permitir a comunicação apenas entre objetos LocalConnection localizados no mesmo domínio, porque a comunicação no mesmo domínio é permitida por padrão. Quando dois arquivos do mesmo domínio se comunicam, você não precisa implementar medidas especiais de segurança e simplesmente transmite o mesmo valor para o parâmetro connectionName aos métodos connect() e send():

Carregamento a partir do mesmo domínio

// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.connect('myConnection');

// sendingLC is in http://www.domain.com/sending.swf
// myMethod() is defined in sending.swf
sendingLC.send('myConnection', 'myMethod');

Domínios diferentes com nomes de domínio previsíveis. Quando dois arquivos SWF de diferentes domínios se comunicam, você precisa permitir a comunicação entre os domínios chamando o método allowDomain(). Também é necessário qualificar o nome da conexão no método send() com o nome de domínio do objeto LocalConnection de recebimento:

Carregamento a partir de domínios separados

// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.allowDomain('www.anotherdomain.com');
receivingLC.connect('myConnection');

// sendingLC is in http://www.anotherdomain.com/sending.swf
sendingLC.send('www.domain.com:myConnection', 'myMethod');

Domínios diferentes com nomes de domínio imprevisíveis. Às vezes, é possível criar o arquivo com o objeto LocalConnection de recebimento mais durável entre domínios. Para evitar especificar o nome do domínio no método send(), mas para indicar que os objetos LocalConnection de envio e recebimento não estão no mesmo domínio, preceda o nome da conexão com um sublinhado (_) em ambas as chamadas connect() e send(). Para permitir a comunicação entre os dois domínios, chame o método allowDomain() e transmita os domínios a partir dos quais você deseja permitir chamadas LocalConnection. Como alternativa, transmita o argumento caractere curinga (*) para permitir chamadas de todos os domínios:

Carregamento a partir de nomes de domínio desconhecidos

// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.allowDomain('*');
receivingLC.connect('_myConnection');

// sendingLC is in http://www.anotherdomain.com/sending.swf
sendingLC.send('_myConnection', 'myMethod');

Do Flash Player para um aplicativo AIR. Um objeto LocalConnection criado na caixa de segurança do aplicativo AIR usa uma string especial como seu prefixo de conexão, em vez de um nome de domínio. Esta string tem o formato: app#appID.pubID, onde appID é o ID do aplicativo e pubID é o ID do publicador do ID do aplicativo. (Só inclua o ID do publicador se o aplicativo AIR usar um ID do publicador.) Por exemplo, se um aplicativo AIR tiver um ID do aplicativo "com.example" e nenhum ID do publicador, você poderá usar: app#com.example:myConnection como a string da conexão local. O aplicativo AIR também deve chamar o método allowDomain(), enviando na chamada o domínio do arquivo SWF de origem:

Flash Player para conexão com o AIR

// receivingLC is an AIR application with app ID = com.example (and no publisher ID)
receivingLC.allowDomain('www.domain.com');
receivingLC.connect('myConnection');

// sendingLC is in http://www.domain.com/sending.swf
sendingLC.send('app#com.example:myConnection', 'myMethod');

Nota: se um aplicativo AIR carregar um SWF fora da área de segurança do aplicativo AIR, as regras para estabelecer uma conexão local com esse SWF serão iguais à regras para estabelecer uma conexão com um SWF que esteja executando no Flash Player.

Do aplicativo AIR para o Flash Player. Quando o aplicativo AIR se comunica com um SWF que está executando no tempo de execução do Flash Player, você precisa permitir uma comunicação entre os dois chamando o método allowDomain() e enviando o prefixo de conexão do aplicativo AIR. Por exemplo, se um aplicativo AIR tiver um ID de aplicativo "com.example" e nenhum ID de publicador, você poderá passar a string: app#com.example para o método allowDomain(). Também é necessário qualificar o nome da conexão no método send() com o nome de domínio do objeto LocalConnection receptor (use "localhost" como o domínio de arquivos SWF carregados de um sistema de arquivos local):

Comunicação do AIR para o Flash Player

// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.allowDomain('app#com.example');
receivingLC.connect('myConnection');

// sendingLC is an AIR application with app ID = com.example (and no publisher ID)
sendingLC.send('www.domain.com:myConnection', 'myMethod');

Do aplicativo AIR para outro aplicativo AIR. Para a comunicação entre dois aplicativos AIR, você precisa permitir a comunicação entre os dois chamando o método allowDomain() e enviando o prefixo de conexão do aplicativo AIR que estiver enviando os dados. Por exemplo, se um aplicativo AIR tiver um ID de aplicativo "com.example" e nenhum ID de publicador, você poderá passar a string: app#com.example para o método allowDomain() no aplicativo receptor. Também é necessário qualificar o nome da conexão no método send() com o prefixo de conexão do objeto LocalConnection receptor:

Comunicação de AIR com AIR

// receivingLC is an AIR application with app ID = com.sample (and no publisher ID)
receivingLC.allowDomain('app#com.example');
receivingLC.connect('myConnection');

// sendingLC is an AIR application with app ID = com.example (and no publisher ID)
sendingLC.send('app#com.sample:myConnection', 'myMethod');

Você pode usar objetos LocalConnection para enviar e receber dados em um único arquivo, mas essa não é uma implementação típica.

Para obter mais informações sobre os métodos send() e connect(), consulte a discussão do parâmetro connectionName nas entradas LocalConnection.send() e LocalConnection.connect(). Além disso, consulte as entradas allowDomain() e domain.

Veja os exemplos

Elementos da API relacionados



Propriedades públicas
 PropriedadeDefinido por
  client : Object
Indica o objeto no qual os métodos de retorno de chamada são invocados.
LocalConnection
 Inheritedconstructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto.
Object
  domain : String
[somente leitura] Uma string que representa o domínio da localização do arquivo atual.
LocalConnection
  isPerUser : Boolean
Indica se o objeto LocalConnection está no escopo do usuário atual (true) ou é globalmente acessível a todos os usuários do computador (false).
LocalConnection
  isSupported : Boolean
[estático] [somente leitura] A propriedade isSupported será definida como true se a classe LocalConnection for suportada na plataforma atual; de outra maneira, ela será definida como false.
LocalConnection
Métodos públicos
 MétodoDefinido por
  
Cria um objeto LocalConnection.
LocalConnection
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento.
EventDispatcher
  
Especifica um ou mais domínios que podem enviar chamadas LocalConnection a esta ocorrência de LocalConnection.
LocalConnection
  
Especifica um ou mais domínios que podem enviar chamadas LocalConnection a este objeto LocalConnection.
LocalConnection
  
Fecha (desconecta) um objeto LocalConnection.
LocalConnection
  
connect(connectionName:String):void
Prepara um objeto LocalConnection para receber comandos que são despachados de um comando send() (do objeto LocalConnection de envio).
LocalConnection
 Inherited
Envia um evento para o fluxo de eventos.
EventDispatcher
 Inherited
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento.
EventDispatcher
 Inherited
Indica se um objeto tem uma propriedade especificada definida.
Object
 Inherited
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro.
Object
 Inherited
Indica se a propriedade especificada existe e é enumerável.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Remove um ouvinte do objeto EventDispatcher.
EventDispatcher
  
send(connectionName:String, methodName:String, ... arguments):void
Invoca o método denominado methodName em uma conexão aberta com o método connect(connectionName) (no objeto LocalConnection de recebimento).
LocalConnection
 Inherited
Define a disponibilidade de uma propriedade dinâmica para operações de repetição.
Object
 Inherited
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade.
Object
 Inherited
Retorna a representação de string do objeto especificado.
Object
 Inherited
Retorna o valor primitivo do objeto especificado.
Object
 Inherited
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado.
EventDispatcher
Eventos
 Evento Resumo Definido por
 Inherited[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR ganha o foco do sistema operacional e está se tornando inativo.EventDispatcher
  Despachado quando uma exceção é lançada assincronamente – ou seja, a partir do código assíncrono nativo.LocalConnection
 Inherited[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR perde o foco do sistema operacional e está se tornando inativo.EventDispatcher
  Despachado se uma chamada para LocalConnection.send() tentar enviar dados a uma área de segurança diferente.LocalConnection
  Despachado quando um objeto LocalConnection relata seu status.LocalConnection
Detalhes da propriedade

client

propriedade
client:Object

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Indica o objeto no qual os métodos de retorno de chamada são invocados. O objeto padrão é this, a conexão local que está sendo criada. É possível definir a propriedade client como outro objeto e os métodos de retorno de chamada são invocados nesse outro objeto.



Implementação
    public function get client():Object
    public function set client(value:Object):void

Lança
TypeError — A propriedade client deve ser definida como um objeto não nulo.

domain

propriedade 
domain:String  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Uma string que representa o domínio da localização do arquivo atual.

No conteúdo em execução na área de segurança application no Adobe AIR (conteúdo instalado com o AIR), o tempo de execução usa a string app#seguida pela ID do aplicativo para o AIR (definido no arquivo descritivo) no lugar do superdomínio. Por exemplo, um connectionName para um aplicativo com a ID com.example.air.MyApp connectionName resolve para "app#com.example.air.MyApp:connectionName".

Em arquivos SWF publicados para o Flash Player 9 ou posterior, a string retornada é o domínio exato do arquivo, incluindo subdomínios. Por exemplo, se o arquivo estiver localizado em www.adobe.com, esse comando retornará "www.adobe.com".

Se o arquivo atual for um arquivo local que reside no computador cliente em execução no Flash Player, esse comando retornará "localhost".

As maneiras mais comuns de usar essa propriedade são incluir o nome de domínio do objeto LocalConnection de envio como um parâmetro no método que você planeja invocar no objeto LocalConnection de recebimento ou usá-lo com LocalConnection.allowDomain() para aceitar comandos de um domínio especificado. Se você estiver ativando a comunicação apenas entre objetos LocalConnection localizados no mesmo domínio, provavelmente não precisará usar essa propriedade.



Implementação
    public function get domain():String

Elementos da API relacionados

isPerUser

propriedade 
isPerUser:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.0.32, AIR 1.5.2

Indica se o objeto LocalConnection está no escopo do usuário atual (true) ou é globalmente acessível a todos os usuários do computador (false). Esta propriedade só afeta a execução de conteúdo no Mac OS X; outras plataformas ignoram este parâmetro. As conexões em sistemas operacionais Windows e Linux são sempre por usuário.

No Flash Player 10.0.22 e versões anteriores e no AIR 1.5.1 e versões anteriores, todos os objetos LocalConnection no Mac OS X têm um alcance global. Sempre estabeleça esta propriedade como true, a menos que você tenha de preservar a compatibilidade com versões anteriores. Em futuros lançamentos, o valor padrão desta propriedade poderia modificar-se para true.

O valor padrão é false.



Implementação
    public function get isPerUser():Boolean
    public function set isPerUser(value:Boolean):void

isSupported

propriedade 
isSupported:Boolean  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

A propriedade isSupported será definida como true se a classe LocalConnection for suportada na plataforma atual; de outra maneira, ela será definida como false.



Implementação
    public static function get isSupported():Boolean
Detalhes do construtor

LocalConnection

()Construtor
public function LocalConnection()

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Cria um objeto LocalConnection. É possível usar objetos LocalConnection para permitir a comunicação entre diferentes arquivos em execução no mesmo computador cliente.

Elementos da API relacionados

Detalhes do método

allowDomain

()método
public function allowDomain(... domains):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Especifica um ou mais domínios que podem enviar chamadas LocalConnection a esta ocorrência de LocalConnection.

Esse método não pode ser usado para permitir que arquivos hospedados com o uso de um protocolo seguro (HTTPS) tenham acesso a partir de arquivos hospedados em protocolos não seguros. Para tanto, use o método allowInsecureDomain().

Convém usar esse método para que um arquivo filho de um domínio diferente possa fazer chamadas LocalConnection locais ao arquivo pai, sem conhecer o domínio final a partir do qual o arquivo filho surgirá. Isso pode acontecer, por exemplo, quando você usa redirecionamentos de balanceamento de carga ou servidores terceirizados. Nessa situação, você pode usar a propriedade url do objeto LoaderInfo usado com o carregamento, para obter o domínio a ser usado com o método allowDomain(). Por exemplo, se você usar um objeto Loader para carregar um arquivo filho, quando o arquivo estiver carregado, será possível verificar a propriedade contentLoaderInfo.url desse objeto Loader e analisar o domínio fora da string URL completa. Se você não fizer isso, certifique-se de aguardar a conclusão do carregamento do arquivo, uma vez que a propriedade contentLoaderInfo.url apenas terá seu valor final correto quando o arquivo estiver totalmente carregado.

A situação oposta também pode ocorrer: você pode criar um objeto filho que deseja aceitar chamadas LocalConnection a partir do seu pai, mas que não conhece o domínio desse pai. Nessa situação, implemente esse método verificando se o argumento de domínio corresponde ao domínio da propriedade loaderInfo.url no arquivo carregado. Mais uma vez, é necessário analisar o domínio fora da URL completa a partir de loaderInfo.url. Nessa situação, não é necessário aguardar o carregamento do arquivo pai; o pai já terá sido carregado na ocasião em que o filho for carregado.

Ao usar esse método, considere o modelo de segurança do Flash Player. Por padrão, um objeto LocalConnection é associado à caixa de proteção do arquivo que o criou e chamadas entre domínios a objetos LocalConnection não são permitidas, a não ser que você chame o método LocalConnection.allowDomain() no arquivo de recebimento. Contudo, no Adobe AIR, o conteúdo na caixa de proteção de segurança application (conteúdo instalado com o Adobe AIR) não é restringido por essas limitações de segurança.

Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security.

Observação: A forma do método allowDomain() foi alterado a partir do ActionScript 1.0 e 2.0. Nessas versões anteriores, allowDomain era um método de retorno de chamada que você implementava. No ActionScript 3.0, allowDomain() é um método embutido de LocalConnection que você chama. Com essa alteração, allowDomain() funciona da mesma maneira que flash.system.Security.allowDomain().

Parâmetros

... domains — Uma ou mais strings que nomeiam os domínios a partir dos quais você deseja permitir chamadas LocalConnection. Esse parâmetro tem dois casos especiais:
  • Você pode especificar um caractere curinga "*" para permitir chamadas de todos os domínios.
  • Você pode especificar a string "localhost" para permitir chamadas a esse arquivo a partir de arquivos localmente instalados. O Flash Player 8 introduziu restrições de segurança em arquivos locais. Por padrão, um arquivo SWF em execução no Flash Player com acesso permitido à Internet não pode ter acesso também ao sistema de arquivos local. No Flash Player, se você especificar "localhost", qualquer arquivo SWF local poderá acessar esse arquivo SWF.


Lança
ArgumentError — Todos os parâmetros especificados devem ser strings diferentes de "null".

Elementos da API relacionados

allowInsecureDomain

()método 
public function allowInsecureDomain(... domains):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Especifica um ou mais domínios que podem enviar chamadas LocalConnection a este objeto LocalConnection.

O método allowInsecureDomain() funciona como o método allowDomain(), com a exceção de que o método allowInsecureDomain() permite adicionalmente que arquivos de origens não HTTPS enviem chamadas LocalConnection a arquivos SWF de origens HTTPS. Essa diferença apenas será significativa se você chamar o método allowInsecureDomain() a partir de um arquivo que foi carregado usando HTTPS. Será necessário chamar o método allowInsecureDomain() mesmo que você esteja atravessando um limite não HTTPS/HTTPS dentro do mesmo domínio; por padrão, chamadas LocalConnection nunca são permitidas a partir de arquivos não HTTPS para arquivos HTTPS, mesmo dentro do mesmo domínio.

Não convém chamar allowInsecureDomain(), uma vez que isso pode comprometer a segurança oferecida pelo HTTPS. Ao carregar um arquivo via HTTPS, você tem a garantia de que esse arquivo não será adulterado durante a entrega via rede. Se você permitir que um arquivo não HTTPS faça chamadas LocalConnection para o arquivo HTTPS, estará aceitando chamadas de um arquivo que, de fato, pode ter sido adulterado durante a entrega. Isso geralmente requer uma vigilância extra, já que não é possível confiar na autenticidade de chamadas LocalConnection que chegam ao seu arquivo HTTPS.

Por padrão, os arquivos hospedados com o uso do protocolo HTTPS apenas podem ser acessados por outros arquivos hospedados com o protocolo HTTPS. Essa implementação mantém a integridade fornecida pelo protocolo HTTPS.

O uso deste método para substituir o comportamento padrão não é recomendado, pois ele compromete a segurança HTTPS. Entretanto, talvez seja necessário fazer isso, por exemplo, se você precisar permitir acesso a arquivos SWF HTTPS publicados para o Flash Player 9 ou posterior a partir de arquivos SWF HTTP publicados para o Flash Player 6 ou anterior.

Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security.

Parâmetros

... domains — Uma ou mais strings que nomeiam os domínios a partir dos quais você deseja permitir chamadas LocalConnection. Há dois casos especiais para esse parâmetro:
  • Você pode especificar o caractere curinga "*" para permitir chamadas de todos os domínios. Especificar "*" não inclui hosts locais.
  • Você pode especificar a string "localhost" para permitir chamadas a esse arquivo SWF a partir de arquivos SWF localmente instalados. O Flash Player 8 introduziu restrições de segurança em arquivos SWF locais. Um arquivo SWF com acesso permitido à Internet não pode ter acesso também ao sistema de arquivos local. Se você especificar "localhost", qualquer arquivo SWF local poderá acessar esse arquivo SWF. Lembre-se de que também é necessário designar o arquivo SWF de chamada como arquivo SWF local com rede no momento de autoria.


Lança
ArgumentError — Todos os parâmetros especificados devem ser strings diferentes de "null".

Elementos da API relacionados

close

()método 
public function close():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Fecha (desconecta) um objeto LocalConnection. Emita esse comando quando você não quiser mais que o objeto aceite comandos; por exemplo, quando quiser emitir um comando connect() usando o mesmo parâmetro connectionName em outro arquivo SWF.


Lança
ArgumentError — A ocorrência de LocalConnection não é conectada e, portanto, não pode ser encerrada.

Elementos da API relacionados

connect

()método 
public function connect(connectionName:String):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Prepara um objeto LocalConnection para receber comandos que são despachados de um comando send() (do objeto LocalConnection de envio). O objeto usado com o método connect() é chamado de objeto LocalConnection de recebimento. Os objetos de envio e recebimento devem estar em execução no mesmo computador cliente.

Para evitar uma condição de risco, defina os métodos anexados ao objeto LocalConnection de recebimento antes de chamar esse método, como mostra o exemplo da classe LocalConnection.

Por padrão, o argumento connectionName é resolvido em um valor de "superdomain:connectionName", em que superdomain é o superdomínio do arquivo que contém o comando connect(). Por exemplo, se o arquivo que contém o objeto LocalConnection de recebimento localizado em www.someDomain.com, connectionName é resolvido como "someDomain.com:nomeConexão". (Se um arquivo em execução no Flash Player estiver localizado no computador cliente, o valor atribuído a superdomain será "localhost".)

No conteúdo em execução na área de segurança application no Adobe AIR (conteúdo instalado com o AIR), o tempo de execução usa a string app#seguida pela ID do aplicativo para o AIR (definido no arquivo descritivo) no lugar do superdomínio. Por exemplo, um connectionName para um aplicativo com a ID com.example.air.MyApp connectionName resolve para "app#com.example.air.MyApp:connectionName".

Além disso, por padrão, o Flash Player permite que o objeto LocalConnection de recebimento aceite comandos apenas de objetos LocalConnection de envio cujo nome de conexão também seja resolvido em um valor de "superdomain:connectionName". Dessa maneira, o Flash Player simplifica a comunicação entre arquivos localizados no mesmo domínio.

Se você estiver implementando a comunicação apenas entre arquivos no mesmo domínio, especifique uma string para connectionName que não comece com um sublinhado (_) e que não determine um nome de domínio (por exemplo, "myDomain:nomeConexão"). Use a mesma string no método connect(connectionName).

Se você estiver implementando a comunicação entre arquivos em diferentes domínios, especificar uma string para connectionName que comece com um sublinhado (_) torna o arquivo com o objeto LocalConnection de recebimento mais durável entre domínios. Estes são os dois casos possíveis:

  • Se a string para connectionName não começar com um sublinhado (_), um prefixo é adicionado com o superdomínio e um caractere de dois pontos (por exemplo, "myDomain:connectionName"). Embora isso garanta que a sua conexão não entre em conflito com as conexões de nome idêntico em outros domínios, qualquer objeto LocalConnection de envio deve especificar esse superdomínio (por exemplo, "myDomain:connectionName"). Se o arquivo com o objeto LocalConnection de recebimento for movido para outro domínio, o player alterará o prefixo de modo a refletir o novo superdomínio (por exemplo, "anotherDomain:connectionName"). Todos os objetos LocalConnection de envio precisariam ser manualmente editados de modo a apontar para o novo superdomínio.
  • Se a string para connectionName começar com um sublinhado (por exemplo, "_connectionName"), um prefixo não será adicionado. Isso significa que os objetos LocalConnection de recebimento e envio usam strings idênticas para connectionName. Se o objeto de recebimento usar allowDomain() para especificar que serão aceitas conexões de qualquer domínio, o arquivo com o objeto LocalConnection de recebimento poderá ser movido para outro domínio sem alterar qualquer objeto LocalConnection de envio.

Para obter mais informações, consulte a discussão na visão geral sobre a classe e a discussão de connectionName em send(), bem como as entradas allowDomain() e domain.

Observação: caracteres de dois pontos são usados como caracteres especiais para separar o superdomínio da string connectionName. Uma string para connectionName que contenha um caractere de dois pontos não é válida.

Ao usar esse método, considere o modelo de segurança do Flash Player. Por padrão, um objeto LocalConnection é associado à caixa de proteção do arquivo que o criou e chamadas entre domínios a objetos LocalConnection não são permitidas, a não ser que você chame o método LocalConnection.allowDomain() no arquivo de recebimento. Você pode impedir o arquivo de usar esse método configurando o parâmetro allowNetworking das marcas object e embed na página HTML com o conteúdo SWF.Contudo, no Adobe AIR, o conteúdo na área de segurança application (conteúdo instalado com o Adobe AIR) não é restringido por essas limitações de segurança.

Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security.

Parâmetros

connectionName:String — Uma string que corresponde ao nome da conexão especificado no comando send() que deseja se comunicar com o objeto LocalConnection de recebimento.


Lança
TypeError — O valor transmitido ao parâmetro connectionName deve ser diferente de "null".
 
ArgumentError — Esse erro pode ocorrer por três motivos: 1) O valor de string transmitido ao parâmetro connectionName era null. Transmita um valor diferente de "null". 2) O valor transmitido ao parâmetro connectionName continha um caractere de dois pontos (:). Caracteres de dois pontos são usados como caracteres especiais para separar o superdomínio da string connectionName no método send() e não no método connect(). 3) A ocorrência de LocalConnection já está conectada.

Elementos da API relacionados

send

()método 
public function send(connectionName:String, methodName:String, ... arguments):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Invoca o método denominado methodName em uma conexão aberta com o método connect(connectionName) (no objeto LocalConnection de recebimento). O objeto usado com o método send() é chamado de objeto LocalConnection de envio. Os arquivos SWF que contêm os objetos de envio e recebimento devem estar em execução no mesmo computador cliente.

Há um limite de 40 quilobytes sobre a quantidade de dados que podem ser transmitidos como parâmetros a esse comando. Se send() lançar ArgumentError, mas a sua sintaxe estiver correta, tente dividir as solicitações send() em vários comandos, cada um com menos de 40K de dados.

Conforme discutido na entrada connect(), o superdomínio atual é adicionado a connectionName por padrão. Se você estiver implementando a comunicação entre diferentes domínios, precisará definir connectionName nos objetos LocalConnection de envio e recebimento, de maneira que o superdomínio atual não seja adicionado a connectionName. Isso pode ser feito de uma destas duas maneiras:

  • Use um sublinhado (_) no início de connectionName dos objetos LocalConnection de envio e recebimento. No arquivo que contém o objeto de recebimento, use LocalConnection.allowDomain() para especificar que serão aceitas conexões de qualquer domínio. Essa implementação permite armazenar os arquivos de envio e recebimento em qualquer domínio.
  • Inclua o superdomínio em connectionName no objeto LocalConnection de envio - por exemplo, myDomain.com:myConnectionName. No objeto de recebimento, use LocalConnection.allowDomain() para especificar que serão aceitas conexões do superdomínio especificado (nesse caso, meuDomínio.com) ou que serão aceitas conexões de qualquer domínio.

Observação: Não é possível especificar um superdomínio em connectionName do objeto LocalConnection de recebimento; isso pode ser feito apenas no objeto LocalConnection de envio.

Ao usar esse método, considere o modelo de segurança do Flash Player. Por padrão, um objeto LocalConnection é associado à caixa de proteção do arquivo que o criou e chamadas entre domínios a objetos LocalConnection não são permitidas, a não ser que você chame o método LocalConnection.allowDomain() no arquivo de recebimento. Para o conteúdo SWF em execução no navegador, você pode impedir o arquivo de usar esse método configurando o parâmetro allowNetworking das marcas object e embed na página HTML com o conteúdo SWF. Contudo, no Adobe AIR, o conteúdo na caixa de proteção de segurança application (conteúdo instalado com o Adobe AIR) não é restringido por essas limitações de segurança.

Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security.

Parâmetros

connectionName:String — Corresponde ao nome de conexão especificado no comando connect() que deseja se comunicar com o objeto LocalConnection de envio.
 
methodName:String — O nome do método a ser invocado no objeto LocalConnection de recebimento. Os nomes de métodos a seguir fazem com que o comando apresente uma falha: send, connect, close, allowDomain, allowInsecureDomain, client e domain.
 
... arguments — Parâmetros opcionais adicionais a serem transmitidos ao método especificado.


Eventos
securityError:SecurityErrorEventLocalConnection.send() tentou se comunicar com um arquivo SWF a partir de uma área de segurança à qual o código de chamada não tem acesso. Você pode solucionar esse problema na implementação do receptor de LocalConnection.allowDomain().
 
status:StatusEvent — Se o valor da propriedade level for status, significa que a chamada foi bem-sucedida; se o valor for error, a chamada falhou. A chamada poderá falhar se o arquivo SWF de recebimento recusar a conexão.

Lança
TypeError — O valor de connectionName ou methodName é "null". Transmita valores diferentes de "null" para esses parâmetros.
 
ArgumentError — Esse erro pode ocorrer por um dos motivos: 1) O valor de connectionName ou methodName é uma string vazia. Transmita strings válidas para esses parâmetros. 2) O método especificado em methodName é restrito. 3) A mensagem serializada que está sendo enviada é muito grande (mais de 40K).

Elementos da API relacionados

Detalhe do evento

asyncError

Evento
Tipo do objeto de evento: flash.events.AsyncErrorEvent
propriedade AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Despachado quando uma exceção é lançada assincronamente – ou seja, a partir do código assíncrono nativo.

A constante AsyncErrorEvent.ASYNC_ERROR define o valor da propriedade type de um objeto de evento asyncError.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
targetO objeto que está enviando o evento.
errorO erro que disparou o evento.

securityError

Evento  
Tipo do objeto de evento: flash.events.SecurityErrorEvent
propriedade SecurityErrorEvent.type = flash.events.SecurityErrorEvent.SECURITY_ERROR

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Despachado se uma chamada para LocalConnection.send() tentar enviar dados a uma área de segurança diferente.

A constante SecurityErrorEvent.SECURITY_ERROR define o valor da propriedade type de um objeto de evento securityError.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
targetO objeto de rede que reporta o erro de segurança.
textTexto a ser exibido como uma mensagem de erro.

Elementos da API relacionados

status

Evento  
Tipo do objeto de evento: flash.events.StatusEvent
propriedade StatusEvent.type = flash.events.StatusEvent.STATUS

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Despachado quando um objeto LocalConnection relata seu status. Se LocalConnection.send() for bem-sucedido, o valor da propriedade level do objeto de evento de status será "status"; se a chamada falhar, a propriedade level será "error". Se o arquivo de recebimento recusar a conexão, a chamada poderá falhar sem notificação ao arquivo de envio.

Define o valor da propriedade type de um objeto de evento status.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
codeUma descrição do status do objeto.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
nívelA categoria da mensagem, como "status", "warning" ou "error".
targetO objeto que está reportando o status.

Elementos da API relacionados

LocalConnectionSenderExample.as

Esse exemplo consiste em duas classes ActionScript que devem ser compiladas em dois arquivos SWF separados:

No arquivo SWF LocalConnectionSenderExample, uma ocorrência de LocalConnection é criada e, quando o botão é pressionado, o método call() é usado para chamar o método denominado lcHandler no arquivo SWF com o nome de conexão "myConnection", transmitindo o conteúdo de TextField como um parâmetro.

No arquivo SWF LocalConnectionReceiverExample, uma ocorrência de LocalConnection é criada, e o método connect() é chamado para designar esse arquivo SWF como o destinatário de mensagens que são endereçadas à conexão denominada "myConnection". Além disso, essa classe inclui um método público denominado lcHandler(); esse método é chamado pelo arquivo SWF LocalConnectionSenderExample. Ao ser chamado, o texto transmitido como parâmetro é acrescentado a TextField no Palco.

Observação: Para testar o exemplo, ambos os arquivos SWF devem ser carregados no mesmo computador simultaneamente.

// Code in LocalConnectionSenderExample.as
package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.net.LocalConnection;
    import flash.text.TextField;
    import flash.text.TextFieldType;
    import flash.events.StatusEvent;
    import flash.text.TextFieldAutoSize;

    public class LocalConnectionSenderExample extends Sprite {
        private var conn:LocalConnection;
        
        // UI elements
        private var messageLabel:TextField;
        private var message:TextField;
        private var sendBtn:Sprite;
        
        public function LocalConnectionSenderExample() {
            buildUI();
            sendBtn.addEventListener(MouseEvent.CLICK, sendMessage);
            conn = new LocalConnection();
            conn.addEventListener(StatusEvent.STATUS, onStatus);
        }
        
        private function sendMessage(event:MouseEvent):void {
            conn.send("myConnection", "lcHandler", message.text);
        }
        
        private function onStatus(event:StatusEvent):void {
            switch (event.level) {
                case "status":
                    trace("LocalConnection.send() succeeded");
                    break;
                case "error":
                    trace("LocalConnection.send() failed");
                    break;
            }
        }
        
        private function buildUI():void {
            const hPadding:uint = 5;
            // messageLabel
            messageLabel = new TextField();
            messageLabel.x = 10;
            messageLabel.y = 10;
            messageLabel.text = "Text to send:";
            messageLabel.autoSize = TextFieldAutoSize.LEFT;
            addChild(messageLabel);
            
            // message
            message = new TextField();
            message.x = messageLabel.x + messageLabel.width + hPadding;
            message.y = 10;
            message.width = 120;
            message.height = 20;
            message.background = true;
            message.border = true;
            message.type = TextFieldType.INPUT;
            addChild(message);
            
            // sendBtn
            sendBtn = new Sprite();
            sendBtn.x = message.x + message.width + hPadding;
            sendBtn.y = 10;
            var sendLbl:TextField = new TextField();
            sendLbl.x = 1 + hPadding;
            sendLbl.y = 1;
            sendLbl.selectable = false;
            sendLbl.autoSize = TextFieldAutoSize.LEFT;
            sendLbl.text = "Send";
            sendBtn.addChild(sendLbl);
            sendBtn.graphics.lineStyle(1);
            sendBtn.graphics.beginFill(0xcccccc);
            sendBtn.graphics.drawRoundRect(0, 0, (sendLbl.width + 2 + hPadding + hPadding), (sendLbl.height + 2), 5, 5);
            sendBtn.graphics.endFill();
            addChild(sendBtn);
        }
    }
}
LocalConnectionReceiverExample.as

// Code in LocalConnectionReceiverExample.as
package {
    import flash.display.Sprite;
    import flash.net.LocalConnection;
    import flash.text.TextField;

    public class LocalConnectionReceiverExample extends Sprite {
        private var conn:LocalConnection;
        private var output:TextField;
        
        public function LocalConnectionReceiverExample()     {
            buildUI();
            
            conn = new LocalConnection();
            conn.client = this;
            try {
                conn.connect("myConnection");
            } catch (error:ArgumentError) {
                trace("Can't connect...the connection name is already being used by another SWF");
            }
        }
        
        public function lcHandler(msg:String):void {
            output.appendText(msg + "\n");
        }
        
        private function buildUI():void {
            output = new TextField();
            output.background = true;
            output.border = true;
            output.wordWrap = true;
            addChild(output);
        }
    }
}




[ X ]Por que inglês?
O conteúdo na Referência do ActionScript 3.0 aparece em inglês

Nem todas as partes da Referência do ActionScript 3.0 estão traduzidas em todos os idiomas. Quando um elemento de um idioma não está traduzido, ele é exibido em inglês. Por exemplo, a classe ga.controls.HelpBox não está traduzida em nenhum idioma. Por isso, na versão da referência em português do Brasil, a classe ga.controls.HelpBox é exibida em inglês.