ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: AIR 30.0 und früher, Flash Player 30.0 und früher, Flash Lite 4
Flex 4.6 und früher, Flash Pro CS6 und früher
Filter ausblenden
flash.net 

LocalConnection  - AS3

Paketex

Oberste Ebene
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

Sprachelemente

Globale Konstanten
Globale Funktionen
Operatoren
Anweisungen, Schlüsselwörter und Direktiven
Sondertypen

Anhänge

Neue Funktionen
Compiler-Fehler
Compiler-Warnungen
Laufzeitfehler
Migration zu ActionScript 3
Unterstützte Zeichensätze
Nur MXML-Tags
Motion-XML-Elemente
Timed Text-Tags
Liste veralteter Elemente
Konstanten für die Implementierung von Eingabehilfen
Verwendung der ActionScript-Beispiele
Rechtliche Hinweise
Paketflash.net
Klassepublic class LocalConnection
VererbungLocalConnection Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Mit der LocalConnection-Klasse können Sie ein LocalConnection-Objekt erstellen, das eine Methode in einem anderen LocalConnection-Objekt aufrufen kann. Die Kommunikation erfolgt:
  • innerhalb einer einzelnen SWF-Datei
  • zwischen mehreren SWF-Dateien
  • zwischen Inhalt (SWF-basiert oder HTML-basiert) in AIR-Anwendungen
  • zwischen Inhalt (SWF-basiert oder HTML-basiert) in einer AIR-Anwendung und SWF-Inhalt, der in einem Browser ausgeführt wird

Unterstützung von AIR-Profilen: Diese Funktion wird unter allen Desktopbetriebssystemen und auf allen Geräten mit AIR für TV unterstützt, jedoch nicht auf mobilen Geräten. Mit der LocalConnection.isSupported-Eigenschaft können Sie testen, ob zur Laufzeit Unterstützung gegeben ist. Weitere Informationen zum API-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

Hinweis: Geräte mit AIR für TV unterstützen nur die Kommunikation zwischen SWF-basierten Inhalten in AIR-Anwendungen.

Lokale Verbindungen ermöglichen diese Art von Kommunikation zwischen SWF-Dateien ohne Verwendung von fscommand() oder JavaScript. LocalConnection-Objekte können nur zwischen Dateien ausgetauscht werden, die auf demselben Client-Computer abgespielt werden. Sie können jedoch in verschiedenen Anwendungen ausgeführt werden. Beispielsweise kann die eine Datei in einem Browser und eine SWF-Datei in Adobe AIR abgespielt werden.

In ActionScript 3.0 erstellte LocalConnection-Objekte können mit LocalConnection-Objekten kommunizieren, die in ActionScript 1.0 oder 2.0 erstellt wurden. Dasselbe gilt umgekehrt: In ActionScript 1.0 oder 2.0 erstellte LocalConnection-Objekte können mit LocalConnection-Objekten kommunizieren, die in ActionScript 3.0 erstellt wurden. Flash Player verarbeitet die Kommunikation zwischen LocalConnection-Objekten verschiedener Versionen automatisch.

Es gibt drei Verfahren, einem LocalConnection-Objekt Rückrufmethoden hinzuzufügen:

  • Erstellen einer Unterklasse der LocalConnection-Klasse und Hinzufügen von Methoden.
  • Einstellen der LocalConnection.client-Eigenschaft auf ein Objekt, das die Methoden implementiert.
  • Erstellen einer dynamischen Klasse, die LocalConnection erweitert, und dynamisches Anhängen der Methoden.

Um zu verdeutlichen, wie LocalConnection-Objekte für die Kommunikation zwischen zwei Dateien verwendet werden, ist es hilfreich, die in jeder der Dateien verwendeten Befehle zu kennen. Eine Datei wird als empfangende Datei bezeichnet. Diese Datei enthält die aufzurufende Methode. Die empfangende Datei muss ein LocalConnection-Objekt und einen Aufruf der Methode connect() enthalten. Die andere Datei wird als sendende Datei bezeichnet. Diese Datei ruft die Methode auf. Die sendende Datei muss ein anderes LocalConnection-Objekt und einen Aufruf der send()-Methode enthalten.

Die Verwendung der Methoden send() und connect() ist unterschiedlich und hängt davon ab, ob sich die Dateien in derselben Domäne, in verschiedenen Domänen mit bekannten Domänennamen oder in verschiedenen Domänen mit unbekannten oder dynamischen Domänennamen befinden. In den folgenden Abschnitten werden diese drei Situationen mit entsprechenden Codebeispielen erläutert.

Gleiche Domäne: Die einfachste Art der Verwendung von LocalConnection-Objekten besteht darin, die Kommunikation nur zwischen LocalConnection-Objekten zuzulassen, die sich in derselben Domäne befinden, da die Kommunikation innerhalb derselben Domäne standardmäßig unterstützt wird. Für die Kommunikation von zwei Dateien innerhalb derselben Domäne müssen Sie keine speziellen Sicherheitsmaßnahmen implementieren. Sie übergeben einfach denselben Wert für den Parameter connectionName an die Methode connect() und an die Methode send():

Laden aus derselben Domäne

// 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');

Unterschiedliche Domänen mit bekannten Domänennamen: Für die Kommunikation von zwei SWF-Dateien in unterschiedlichen Domänen müssen Sie die Kommunikation zwischen den Domänen zulassen, indem Sie die Methode allowDomain() aufrufen. Außerdem müssen Sie den Verbindungsnamen in der Methode send() mit dem Domänennamen des empfangenden LocalConnection-Objekts qualifizieren:

Laden aus verschiedenen Domänen

// 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');

Unterschiedliche Domänen mit unbekannten Domänennamen: In einigen Fällen ist es erforderlich, die Portierbarkeit der Datei mit dem empfangenden LocalConnection-Objekt zwischen Domänen zu erhöhen. Um anzuweisen, dass das sendende und das empfangende LocalConnection-Objekt sich in unterschiedlichen Domänen befinden, ohne den Domänennamen in der Methode send() anzugeben, fügen Sie im Aufruf von connect() und send() am Anfang des Verbindungsnamens einen Unterstrich (_) hinzu. Um die Kommunikation zwischen den beiden Domänen zuzulassen, rufen Sie die Methode allowDomain() auf, und übergeben Sie die Domänen, von denen LocalConnection-Aufrufe zugelassen werden sollen. Sie können auch das Platzhalterargument (*) übergeben, um Aufrufe von allen Domänen zuzulassen:

Laden aus unbekannten Domänennamen

// 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');

Von Flash Player an eine AIR-Anwendung. Ein LocalConnection-Objekt, das in der AIR-Anwendungssandbox erstellt wurde, verwendet einen speziellen String als Verbindungspräfix anstelle eines Domänennamens. Dieser String hat die Form: app#appID.pubID, wobei appID die Anwendungs-ID und pubID die Herausgeber-ID der Anwendung ist. (Schließen Sie die Herausgeber-ID nur dann mit ein, wenn die AIR-Anwendung eine Herausgeber-ID verwendet.) Wenn eine AIR-Anwendung zum Beispiel die Anwendungs-ID „com.example“ und keine Herausgeber-ID hat, könnten Sie app#com.example:myConnection als lokalen Verbindungsstring verwenden. Die AIR-Anwendung muss auch die allowDomain()-Methode aufrufen und dabei die Ursprungsdomäne der aufrufenden SFW-Datei übergeben:

Flash-Player-zu-AIR-Verbindung

// 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');

Hinweis: Wenn eine AIR-Anwendung eine SWF-Datei außerhalb der AIR-Anwendungssandbox lädt, gelten für die Herstellung einer lokalen Verbindung zu dieser SWF-Datei dieselben Regeln wie für das Herstellen einer Verbindung zu einer SWF-Datei, die in Flash Player ausgeführt wird.

Von einer AIR-Anwendung zu Flash Player. Wenn eine AIR-Anwendung mit einer SWF-Datei kommuniziert, die in der Flash Player-Laufzeitumgebung ausgeführt wird, müssen Sie die Kommunikation zwischen beiden zulassen, indem Sie die allowDomain()-Methode aufrufen und das Verbindungspräfix der AIR-Anwendung übergeben. Wenn eine AIR-Anwendung zum Beispiel die Anwendungs-ID „com.example“ und keine Herausgeber-ID hat, können Sie den String app#com.example an die allowDomain()-Methode übergeben. Sie müssen den Verbindungsnamen auch in der send()-Methode mit dem Domänennamen des empfangenden LocalConnection-Objekts angeben (verwenden Sie „localhost“ als Domäne für die SWF-Dateien, die aus dem lokalen Dateisystem geladen werden):

AIR-zu-Flash-Player-Kommunikation

// 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');

Von einer AIR-Anwendung zu einer anderen AIR-Anwendung. Um zwischen zwei AIR-Anwendungen zu kommunizieren, müssen Sie die Kommunikation zwischen den beiden Anwendungen zulassen, indem Sie die allowDomain()-Methode aufrufen und das Verbindungspräfix der sendenden AIR-Anwendung übergeben. Wenn die sendende AIR-Anwendung zum Beispiel die Anwendungs-ID „com.example“ und keine Herausgeber-ID hat, können Sie den String app#com.example an die allowDomain()-Methode in der empfangenden Anwendung übergeben. Außerdem müssen Sie den Verbindungsnamen in der Methode send() mit dem Verbindungspräfix des empfangenden LocalConnection-Objekts qualifizieren:

AIR-zu-AIR-Kommunikation

// 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');

Sie können LocalConnection-Objekte zum Senden und Empfangen von Daten innerhalb einer Datei verwenden. Dies ist jedoch nicht gebräuchlich.

Weitere Informationen zu den Methoden send() und connect() finden Sie in den Erläuterungen zum Parameter connectionName unter den Einträgen zu LocalConnection.send() und LocalConnection.connect(). Siehe auch die Einträge zu allowDomain() und domain.

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
  client : Object
Gibt das Objekt an, bei dem Callback-Methoden aufgerufen werden.
LocalConnection
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  domain : String
[schreibgeschützt] Ein String, der die Domäne des Pfads der aktuellen Datei angibt.
LocalConnection
  isPerUser : Boolean
Gibt an, ob das LocalConnection-Objekt auf den aktuellen Benutzer beschränkt ist („true“) oder ob es global allen Benutzern des Computers zur Verfügung steht („false“).
LocalConnection
  isSupported : Boolean
[statisch] [schreibgeschützt] Die isSupported-Eigenschaft hat den Wert „true“, wenn die LocalConnection-Klasse von der aktuellen Plattform unterstützt wird, andernfalls hat sie den Wert „false“.
LocalConnection
Öffentliche Methoden
 MethodeDefiniert von
  
Erstellt ein LocalConnection-Objekt.
LocalConnection
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
  
Gibt eine oder mehrere Domänen an, die LocalConnection-Aufrufe an diese LocalConnection-Instanz senden können.
LocalConnection
  
Gibt eine oder mehrere Domänen an, die LocalConnection-Aufrufe an dieses LocalConnection-Objekt senden können.
LocalConnection
  
Schließt das LocalConnection-Objekt (bricht die Verbindung ab).
LocalConnection
  
connect(connectionName:String):void
Bereitet ein LocalConnection-Objekt auf den Empfang von Befehlen vor, die von einem send()-Befehl gesendet werden (vom sendenden LocalConnection-Objekt).
LocalConnection
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
  
send(connectionName:String, methodName:String, ... arguments):void
Ruft die methodName-Methode für eine mit der connect(connectionName)-Methode geöffnete Verbindung auf (im empfangenden LocalConnection-Objekt).
LocalConnection
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
  Wird ausgelöst, wenn eine Ausnahme asynchron, d. h. aus nativem asynchronem Code ausgelöst wird.LocalConnection
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
  Wird ausgelöst, wenn mit einem Aufruf von „LocalConnection.send()“ versucht wird, Daten an eine andere Sicherheitssandbox zu senden.LocalConnection
  Wird ausgelöst, wenn der Status eines LocalConnection-Objekts protokolliert wird.LocalConnection
Eigenschaftendetails

client

Eigenschaft
client:Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt das Objekt an, bei dem Callback-Methoden aufgerufen werden. Standardeinstellung ist das erstellte LocalConnection-Objekt this. Wenn Sie die client-Eigenschaft auf ein anderes Objekt einstellen, werden die Callback-Methoden bei dem eingestellten Objekt aufgerufen.



Implementierung
    public function get client():Object
    public function set client(value:Object):void

Auslöser
TypeError — Die client-Eigenschaft muss auf ein Objekt eingestellt werden, das nicht null ist.

domain

Eigenschaft 
domain:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Ein String, der die Domäne des Pfads der aktuellen Datei angibt.

Bei Inhalt, der in der Sicherheitssandbox der Anwendung Adobe AIR ausgeführt wird (Inhalt, der mit der AIR-Anwendung installiert wurde), verwendet die Laufzeit den String app# gefolgt von der Anwendungs-ID für die AIR-Anwendung (definiert in der Anwendungsdeskriptordatei) anstelle der Superdomäne. So wird zum Beispiel ein connectionName für eine Anwendung mit der Anwendungs-ID com.example.air.MyApp connectionName in "app#com.example.air.MyApp:connectionName" aufgelöst.

In für Flash Player 9 oder neuere Versionen veröffentlichten SWF-Dateien entspricht der zurückgegebene String der exakten Domäne der Datei, einschließlich Subdomänen. Wenn die Datei beispielsweise unter www.adobe.com gespeichert ist, gibt dieser Befehl "www.adobe.com" zurück.

Wenn die aktuelle Datei eine lokale Datei auf dem Client-Computer ist, die in Flash Player ausgeführt wird, gibt dieser Befehl "localhost" zurück.

Gewöhnlich wird bei dieser Eigenschaft der Domänenname des sendenden LocalConnection-Objekts als Parameter in die Methode einbezogen, die Sie im empfangenden LocalConnection-Objekt oder mit LocalConnection.allowDomain() aufrufen möchten, um Befehle von einer angegebenen Domäne zu akzeptieren. Wenn Sie den Datenaustausch nur zwischen LocalConnection-Objekten derselben Domäne aktivieren, ist diese Eigenschaft nicht erforderlich.



Implementierung
    public function get domain():String

Verwandte API-Elemente

isPerUser

Eigenschaft 
isPerUser:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.0.32, AIR 1.5.2

Gibt an, ob das LocalConnection-Objekt auf den aktuellen Benutzer beschränkt ist (true) oder ob es global allen Benutzern des Computers zur Verfügung steht (false). Diese Eigenschaft betrifft nur Inhalt, der unter Mac OS X ausgeführt wird; andere Plattformen ignorieren diesen Parameter. Verbindungen unter Windows- und Linux-Betriebssystemen werden immer auf Benutzerbasis hergestellt.

In Flash Player 10.0.22 und älteren Versionen sowie in AIR 1.5.1 und älteren Versionen haben alle LocalConnection-Objekte unter Mac OS X einen globalen Gültigkeitsbereich. Stellen Sie diese Eigenschaft immer auf true ein, falls Sie nicht die Kompatibilität mit älteren Versionen sicherstellen müssen. In zukünftigen Versionen wird der Standardwert dieser Eigenschaft möglicherweise zu true geändert.

Der Standardwert ist false.



Implementierung
    public function get isPerUser():Boolean
    public function set isPerUser(value:Boolean):void

isSupported

Eigenschaft 
isSupported:Boolean  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Die isSupported-Eigenschaft hat den Wert true, wenn die LocalConnection-Klasse von der aktuellen Plattform unterstützt wird, andernfalls hat sie den Wert false.



Implementierung
    public static function get isSupported():Boolean
Konstruktordetails

LocalConnection

()Konstruktor
public function LocalConnection()

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt ein LocalConnection-Objekt. Mit LocalConnection-Objekten können Sie die Kommunikation zwischen verschiedenen Dateien auf demselben Client-Computer ermöglichen.

Verwandte API-Elemente

Methodendetails

allowDomain

()Methode
public function allowDomain(... domains):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt eine oder mehrere Domänen an, die LocalConnection-Aufrufe an diese LocalConnection-Instanz senden können.

Sie können diese Methode nicht verwenden, um Dateien, die mit einem sicheren Protokoll (HTTPS) gehostet werden, den Zugriff von Dateien zu erlauben, die in nicht sicheren Protokollen gehostet werden. Sie müssen stattdessen die Ereignisprozedur allowInsecureDomain() verwenden.

Sie sollten diese Methode verwenden, damit eine untergeordnete Datei von einer anderen Domäne LocalConnection-Aufrufe an die übergeordnete Datei vornehmen kann, ohne dass die endgültige Domäne bekannt ist, aus der die untergeordnete Datei stammt. Dies ist beispielsweise der Fall, wenn Sie Weiterleitungen mit Lastausgleich oder Server von Dritten verwenden. In diesem Fall können Sie die Eigenschaft url des mit der Ladung verwendeten LoaderInfo-Objekts einsetzen, um die Domäne dazu zu bewegen, die Methode allowDomain() anzuwenden. Wenn Sie beispielsweise mit einem Loader-Objekt eine untergeordnete Datei laden, können Sie, sobald der Ladevorgang abgeschlossen ist, die Eigenschaft contentLoaderInfo.url des Loader-Objekts überprüfen und die Domäne anhand der vollständigen URL parsen. Wenn Sie so verfahren, müssen Sie unbedingt warten, bis die Datei geladen wurde, denn die contentLoaderInfo.url-Eigenschaft verfügt erst, nachdem die Datei vollständig geladen wurde, über ihren endgültigen, korrekten Wert.

Es kann auch die entgegengesetzte Situation auftreten: Angenommen, Sie haben eine untergeordnete Datei erstellt, die LocalConnection-Aufrufe von der übergeordnete Datei annehmen möchte, der aber die Domäne der übergeordneten Datei nicht bekannt ist. In diesem Fall implementieren Sie diese Methode, indem Sie prüfen, ob das Domänenargument mit der Domäne der Eigenschaft loaderInfo.url in der geladenen Datei übereinstimmt. Auch diesmal müssen Sie die Domäne anhand der vollständigen URL von loaderInfo.url parsen. In diesem Fall müssen Sie jedoch nicht warten, bis die übergeordnete Datei geladen wurde, denn das Laden der übergeordneten Datei ist bereits abgeschlossen, wenn der Ladevorgang für die untergeordnete Datei erfolgt.

Bedenken Sie beim Einsatz dieser Methode das Sicherheitsmodell von Flash Player. In der Standardeinstellung wird ein LocalConnection-Objekt mit der Sandbox der erstellenden Datei verknüpft. Domänenübergreifende Aufrufe für LocalConnection-Objekte sind nur dann zulässig, wenn Sie in der empfangenden Datei die Methode LocalConnection.allowDomain() aufrufen. In Adobe AIR unterliegt Inhalt in der Sicherheitssandbox der Anwendung (Inhalt, der mit der AIR-Anwendung installiert wird) nicht diesen Sicherheitseinschränkungen.

Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.

Hinweis: Die Form der Methode allowDomain() hat sich geändert. In den früheren Versionen (ActionScript 1.0 und 2.0) war allowDomain eine zu implementierende Callback-Methode. In ActionScript 3.0 ist allowDomain() eine in den LocalConnection-Aufruf eingebettete Methode. Aufgrund dieser Änderung ist die Methode allowDomain() jetzt mit flash.system.Security.allowDomain() vergleichbar.

Parameter

... domains — Ein oder mehrere Strings mit den Namen der Domänen, von denen Sie LocalConnection-Aufrufe zulassen möchten. Für diesen Parameter gelten zwei Sonderfälle:
  • Sie können das Platzhalterzeichen „*“ angeben, um Aufrufe von allen Domänen zuzulassen.
  • Sie können den String "localhost" angeben, um Aufrufe dieser Datei von lokal installierten Dateien zuzulassen. In Flash Player 8 wurden Sicherheitsbeschränkungen für lokale Dateien eingeführt. Standardmäßig haben in Flash Player ausgeführte SWF-Dateien, die auf das Internet zugreifen können, keinen Zugriff auf das lokale Dateisystem. Wenn Sie "localhost" angeben, können in Flash Player alle lokalen SWF-Dateien auf diese SWF-Datei zugreifen.


Auslöser
ArgumentError — Alle angegebenen Parameter müssen Strings mit einem anderen Wert als null sein.

Verwandte API-Elemente

allowInsecureDomain

()Methode 
public function allowInsecureDomain(... domains):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt eine oder mehrere Domänen an, die LocalConnection-Aufrufe an dieses LocalConnection-Objekt senden können.

Die Methode allowInsecureDomain() funktioniert wie die Methode allowDomain(), mit der Ausnahme, dass die Methode allowInsecureDomain() auch das Senden von LocalConnection-Aufrufen von Dateien aus HTTPS-Quellen durch SWF-Dateien aus Nicht-HTTPS-Quellen zulässt. Dieser Unterschied ist nur von Bedeutung, wenn Sie die Methode allowInsecureDomain() aus einer Datei aufrufen, die über HTTPS geladen wurde. Sie müssen die Methode allowInsecureDomain() auch bei Nicht-HTTPS-/HTTPS-Verbindungen innerhalb derselben Domäne aufrufen. Standardmäßig sind LocalConnection-Aufrufe von Dateien aus Nicht-HTTPS-Quellen an Dateien aus HTTPS-Quellen selbst innerhalb derselben Domäne nicht zulässig.

Der Aufruf von allowInsecureDomain() wird nicht empfohlen, da hierdurch die durch HTTPS gewährleistete Sicherheit möglicherweise gefährdet wird. Wenn Sie eine Datei über HTTPS laden, können Sie relativ sicher sein, dass die Datei bei der Übermittlung über das Netzwerk nicht manipuliert wird. Wenn Sie dann LocalConnection-Aufrufe an diese Datei durch eine Datei ohne HTTPS zulassen, akzeptieren Sie Aufrufe von einer Datei, die während der Übertragung möglicherweise manipuliert wurde. In diesem Fall ist extreme Vorsicht geboten, da Sie sich nicht auf die Authentizität der LocalConnection-Aufrufe an die über HTTPS geladene Datei verlassen können.

Standardmäßig können nur andere Dateien, die mit dem HTTPS-Protokoll gehostet werden, auf mit dem HTTPS-Protokoll gehostete Dateien zugreifen. Durch diese Implementierung bleibt die durch das HTTPS-Protokoll gewährleistete Integrität gewahrt.

Der Einsatz dieser Methode zur Umgehung des Standardverhaltens empfiehlt sich nicht, da damit die HTTPS-Sicherheit beeinträchtigt wird. In einigen Fällen ist dies jedoch notwendig. Beispiel: Sie müssen den Zugriff auf für Flash Player 9 oder eine neuere Version veröffentlichte HTTPS-Dateien durch HTTPS-Dateien zulassen, die für Flash Player 6 oder eine ältere Version veröffentlicht wurden.

Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.

Parameter

... domains — Ein oder mehrere Strings mit den Namen der Domänen, von denen Sie LocalConnection-Aufrufe zulassen möchten. Für diesen Parameter gibt es zwei Sonderfälle:
  • Sie können das Platzhalterzeichen „*“ angeben, um Aufrufe von allen Domänen zuzulassen. Lokale Hosts sind hierbei nicht eingeschlossen.
  • Sie können den String "localhost" angeben, um Aufrufe dieser SWF-Datei von lokal installierten SWF-Dateien zuzulassen. In Flash Player 8 wurden Sicherheitsbeschränkungen für lokale SWF-Dateien eingeführt. SWF-Dateien, die auf das Internet zugreifen können, haben keinen Zugriff auf das lokale Dateisystem. Wenn Sie "localhost" angeben, können alle lokalen SWF-Dateien auf diese SWF-Datei zugreifen. Beachten Sie, dass Sie die aufrufende SWF-Datei bei der Erstellung außerdem als lokale SWF-Datei mit Netzwerkzugang kennzeichnen müssen.


Auslöser
ArgumentError — Alle angegebenen Parameter müssen Strings mit einem anderen Wert als null sein.

Verwandte API-Elemente

close

()Methode 
public function close():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Schließt das LocalConnection-Objekt (bricht die Verbindung ab). Rufen Sie diesen Befehl auf, wenn das Objekt keine Befehle mehr annehmen soll, beispielsweise, wenn Sie einen connect()-Befehl mit demselben Parameter connectionName in einer anderen SWF-Datei aufrufen möchten.


Auslöser
ArgumentError — Die LocalConnection-Instanz kann nicht geschlossen werden, da sie nicht verbunden ist.

Verwandte API-Elemente

connect

()Methode 
public function connect(connectionName:String):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Bereitet ein LocalConnection-Objekt auf den Empfang von Befehlen vor, die von einem send()-Befehl gesendet werden (vom sendenden LocalConnection-Objekt). Das mit der connect()-Methode verwendete Objekt ist das empfangende LocalConnection-Objekt. Das empfangende und das sendende Objekt müssen auf demselben Client-Computer ausgeführt werden.

Um eine „Race“-Bedingung zu vermeiden, definieren Sie die mit dem empfangenden LocalConnection-Objekt verknüpften Methoden, bevor Sie diese Methode aufrufen, wie im Beispiel zur Klasse „LocalConnection“ gezeigt.

In der Standardeinstellung wird das connectionName-Argument in den Wert "superdomain:connectionName" aufgelöst, wobei superdomain die Superdomäne der Datei mit dem Befehl connect() ist. Wenn sich beispielsweise die Datei mit dem empfangenden LocalConnection-Objekt unter www.someDomain.com befindet, wird connectionName in "someDomain.com:connectionName" aufgelöst. (Wenn sich eine Datei, die in Flash Player ausgeführt wird, auf dem Client-Computer befindet, wird superdomain der Wert "localhost" zugewiesen.)

Bei Inhalt, der in der Sicherheitssandbox der Anwendung Adobe AIR ausgeführt wird (Inhalt, der mit der AIR-Anwendung installiert wurde), verwendet die Laufzeit den String app# gefolgt von der Anwendungs-ID für die AIR-Anwendung (definiert in der Anwendungsdeskriptordatei) anstelle der Superdomäne. So wird zum Beispiel ein connectionName für eine Anwendung mit der Anwendungs-ID com.example.air.MyApp connectionName in "app#com.example.air.MyApp:connectionName" aufgelöst.

Ebenso lässt Flash Player das empfangende LocalConnection-Objekt nur Befehle von sendenden LocalConnection-Objekten empfangen, deren Verbindungsnamen ebenfalls in den Wert "superdomain:connectionName" aufgelöst werden. Auf diese Weise können in Flash Player zwischen Dateien derselben Domäne ganz einfach Daten ausgetauscht werden.

Wenn Sie den Datenaustausch nur zwischen Dateien in derselben Domäne implementieren, geben Sie einen String für connectionName an, der nicht mit einem Unterstrich (_) beginnt und der keinen Domänennamen angibt (beispielsweise "myDomain:connectionName"). Verwenden Sie denselben String in der Methode connect(connectionName).

Wenn Sie eine Kommunikation zwischen Dateien in unterschiedlichen Domänen implementieren, lässt sich die Portierbarkeit der Datei mit dem empfangenden LocalConnection-Objekt erhöhen, indem Sie für connectionName einen String angeben, der mit einem Unterstrich (_) beginnt. Im Folgenden werden zwei mögliche Fälle erläutert:

  • Wenn der String für connectionName nicht mit einem Unterstrich (_) beginnt, wird ein Präfix mit der Superdomäne und einen Doppelpunkt hinzugefügt (z. B. "myDomain:connectionName"). Dies stellt zwar sicher, dass es keinen Konflikt zwischen Ihrer Verbindung und gleichnamigen Verbindungen aus anderen Domänen gibt, allerdings müssen sendende LocalConnection-Objekte ebenfalls diese Superdomäne angeben (z. B. "myDomain:connectionName"). Wenn die Datei mit dem empfangenden LocalConnection-Objekt in eine andere Domäne verschoben wird, ändert der Player das Präfix entsprechend der neuen Superdomäne (z. B. "anotherDomain:connectionName"). Alle sendenden LocalConnection-Objekte müssen dann manuell bearbeitet werden, damit sie auf die neue Superdomäne verweisen.
  • Wenn der String für connectionName mit einem Unterstrich beginnt (zum Beispiel, "_connectionName"), wird dem String kein Präfix hinzugefügt. Das heißt, empfangende und sendende LocalConnection-Objekte verwenden identische Strings für connectionName. Wenn das empfangende Objekt mit allowDomain() angibt, dass Verbindungen von allen Domänen zulässig sind, können Sie die Datei mit dem empfangenden LocalConnection-Objekt in eine andere Domäne verschieben, ohne die sendenden LocalConnection-Objekte zu ändern.

Nähere Informationen finden Sie in der Übersicht über die Klasse und in der Erörterung zu connectionName in send() sowie in den Einträgen allowDomain() und domain.

Hinweis: Doppelpunkte werden als Sonderzeichen zum Trennen der Superdomäne vom String connectionName verwendet. Ein String für connectionName, der einen Doppelpunkt enthält, ist nicht gültig.

Bedenken Sie beim Einsatz dieser Methode das Sicherheitsmodell von Flash Player. In der Standardeinstellung wird ein LocalConnection-Objekt mit der Sandbox der erstellenden Datei verknüpft. Domänenübergreifende Aufrufe für LocalConnection-Objekte sind nur dann zulässig, wenn Sie in der empfangenden Datei die Methode LocalConnection.allowDomain() aufrufen. Sie können eine Datei daran hindern, diese Methode aufzurufen, indem Sie auf der HTML-Seite, die den SWF-Inhalt enthält, den Parameter allowNetworking der Tags object und embed festlegen.In Adobe AIR unterliegt Inhalt in der Sicherheitssandbox der Anwendung (Inhalt, der mit der AIR-Anwendung installiert wird) nicht diesen Sicherheitseinschränkungen.

Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.

Parameter

connectionName:String — Ein String, der mit dem Verbindungsnamen übereinstimmt, der im Befehl send() für die Kommunikation mit dem empfangenden LocalConnection-Objekt angegeben wurde.


Auslöser
TypeError — Der an den Parameter connectionName übergebene Wert darf nicht null sein.
 
ArgumentError — Dieser Fehler kann drei verschiedene Ursachen haben: 1) Der an den Parameter connectionName übergebene Stringwert war „null“. Übergeben Sie einen anderen Wert als „null“. 2) Der an den Parameter connectionName übergebene Wert enthielt einen Doppelpunkt (:). Doppelpunkte werden als Sonderzeichen zum Trennen der Superdomäne vom String connectionName in der Methode send() und nicht in der Methode connect() verwendet. 3) Die LocalConnection-Instanz ist bereits verbunden.

Verwandte API-Elemente

send

()Methode 
public function send(connectionName:String, methodName:String, ... arguments):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Ruft die methodName-Methode für eine mit der connect(connectionName)-Methode geöffnete Verbindung auf (im empfangenden LocalConnection-Objekt). Das mit der send()-Methode verwendete Objekt ist das sendende LocalConnection-Objekt. Die SWF-Dateien, die das sendende und das empfangende Objekt enthalten, müssen auf demselben Client-Computer ausgeführt werden.

Die Menge der Daten, die diesem Befehl als Parameter übergeben werden können, ist auf 40 Kilobyte begrenzt. Wenn send() einen ArgumentError-Fehler auslöst, die verwendete Syntax hingegen korrekt ist, versuchen Sie, die send()-Anfragen in mehrere Befehle aufzuteilen, die jeweils weniger als 40 K Daten enthalten.

Wie unter connect() beschrieben, wird die aktuelle Superdomäne standardmäßig zu connectionName hinzugefügt. Wenn Sie den Datenaustausch zwischen verschiedenen Domänen implementieren, müssen Sie connectionName sowohl im sendenden als auch im empfangenden LocalConnection-Objekt so definieren, dass die aktuelle Superdomäne nicht zu connectionName hinzugefügt wird. Hierzu stehen Ihnen zwei Methoden zur Wahl:

  • Beginnen Sie connectionName sowohl für das sendende als auch für das empfangende LocalConnection-Objekt mit einem Unterstrich (_). Geben Sie in der Datei mit dem empfangenden Objekt mit LocalConnection.allowDomain() an, dass Verbindungen von allen Domänen akzeptiert werden. Mit dieser Implementierung können Sie sendende und empfangende Dateien in jeder Domäne speichern.
  • Schließen Sie die Superdomäne in connectionName in das sendende LocalConnection-Objekt ein, z. B. myDomain.com:myConnectionName. Geben Sie im empfangenden Objekt mit LocalConnection.allowDomain() an, dass Verbindungen von der angegebenen Superdomäne akzeptiert werden (in diesem Fall myDomain.com) oder dass Verbindungen von allen Domänen akzeptiert werden.

Hinweis: Sie können in connectionName im empfangenden LocalConnection-Objekt keine Superdomäne angeben - dies ist nur im sendenden LocalConnection-Objekt möglich.

Bedenken Sie beim Einsatz dieser Methode das Sicherheitsmodell von Flash Player. In der Standardeinstellung wird ein LocalConnection-Objekt mit der Sandbox der erstellenden Datei verknüpft. Domänenübergreifende Aufrufe für LocalConnection-Objekte sind nur dann zulässig, wenn Sie in der empfangenden Datei die Methode LocalConnection.allowDomain() aufrufen. Für SWF-Inhalt, der im Browser ausgeführt wird, können Sie eine Datei daran hindern, diese Methode aufzurufen, indem Sie auf der HTML-Seite, die den SWF-Inhalt beinhaltet, den Parameter allowNetworking der Tags object und embed festlegen. In Adobe AIR unterliegt Inhalt in der Sicherheitssandbox der Anwendung (Inhalt, der mit der AIR-Anwendung installiert wird) nicht diesen Sicherheitseinschränkungen.

Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.

Parameter

connectionName:String — Entspricht dem Verbindungsnamen, der im Befehl connect() für die Kommunikation mit dem sendenden LocalConnection-Objekt angegeben wurde.
 
methodName:String — Der Name der im empfangenden LocalConnection-Objekt aufzurufenden Methode. Die folgenden Methodennamen führen zu Fehlern bei der Befehlsausführung: send, connect, close, allowDomain, allowInsecureDomain, client und domain.
 
... arguments — An die angegebene Methode zu übergebende zusätzliche optionale Parameter.


Ereignisse
securityError:SecurityErrorEvent — Es wurde mit LocalConnection.send() versucht, mit einer SWF-Datei in einer Sicherheitssandbox zu kommunizieren, auf die der aufrufende Code keinen Zugriff hat. Sie können dieses Problem in der Implementierung des Empfängers von LocalConnection.allowDomain() umgehen.
 
status:StatusEvent — Wenn der Wert der level-Eigenschaft "status" ist, war der Aufruf erfolgreich. Wenn der Wert "error" ist, ist der Aufruf fehlgeschlagen. Der Aufruf kann fehlschlagen, wenn die empfangende SWF-Datei die Verbindung nicht zulässt.

Auslöser
TypeError connectionName oder methodName weist den Wert „null“ auf. Übergeben Sie andere Werte als „null“ für diese Parameter.
 
ArgumentError — Dieser Fehler kann folgende Ursachen haben: 1) Der Wert von connectionName oder methodName ist ein leerer String. Übergeben Sie gültige Strings für diese Parameter. 2) Für die in methodName angegebene Methode gelten Beschränkungen. 3) Die gesendete serialisierte Meldung ist zu groß (größer als 40 KB).

Verwandte API-Elemente

Ereignisdetails

asyncError

Ereignis
Ereignisobjekttyp: flash.events.AsyncErrorEvent
Eigenschaft AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird ausgelöst, wenn eine Ausnahme asynchron ausgelöst wird – das heißt, aus nativem asynchronem Code.

Die Konstante AsyncErrorEvent.ASYNC_ERROR definiert den Wert der type-Eigenschaft eines asyncError-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Objekt, das das Ereignis auslöst.
errorDer Fehler, der das Ereignis ausgelöst hat.

securityError

Ereignis  
Ereignisobjekttyp: flash.events.SecurityErrorEvent
Eigenschaft SecurityErrorEvent.type = flash.events.SecurityErrorEvent.SECURITY_ERROR

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird ausgelöst, wenn mit einem Aufruf von LocalConnection.send() versucht wird, Daten an eine andere Sicherheitssandbox zu senden.

Die Konstante SecurityErrorEvent.SECURITY_ERROR definiert den Wert der type-Eigenschaft eines securityError-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Netzwerkobjekt, das den Sicherheitsfehler ausgibt.
textDer als Fehlermeldung anzuzeigende Text.

Verwandte API-Elemente

status

Ereignis  
Ereignisobjekttyp: flash.events.StatusEvent
Eigenschaft StatusEvent.type = flash.events.StatusEvent.STATUS

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird ausgelöst, wenn der Status eines LocalConnection-Objekts protokolliert wird. Bei erfolgreichem Aufruf von LocalConnection.send() weist die Eigenschaft level des Ereignisobjekts status den Wert "status" auf. Wenn der Aufruf fehlschlägt, weist die Eigenschaft level den Wert "error" auf. Wenn die empfangende Datei die Verbindung ablehnt, kann der Aufruf ohne Benachrichtigung an die sendende Datei fehlschlagen.

Definiert den Wert der Eigenschaft type eines status-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
codeEine Beschreibung des Objektstatus.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
EbeneDie Kategorie der Meldung, z. B. "status", "warning" oder "error".
targetDas Objekt, dessen Status gemeldet wird.

Verwandte API-Elemente

LocalConnectionSenderExample.as

Dieses Beispiel umfasst zwei ActionScript-Klassen, die in zwei separate SWF-Dateien kompiliert werden müssen.

In der SWF-Datei „LocalConnectionSenderExample“ wird eine LocalConnection-Instanz erstellt. Wenn der Benutzer auf die Schaltfläche klickt, wird die Methode call() verwendet, um die Methode lcHandler in der SWF-Datei aufzurufen. Der Verbindungsname ist „myConnection“ und der Inhalt der TextField-Instanz wird als Parameter übergeben.

In der SWF-Datei „LocalConnectionReceiverExample“ wird eine LocalConnection-Instanz erstellt und die Methode connect() wird aufgerufen. Diese Methode kennzeichnet die SWF-Datei als Empfänger von Meldungen an die Verbindung mit dem Namen „myConnection“. Darüber hinaus umfasst diese Klasse eine öffentliche Methode mit dem Namen lcHandler(). Diese Methode wird in der SWF-Datei „LocalConnectionSenderExample“ aufgerufen. Beim Aufrufen dieser Methode wird der als Parameter übergebene Text an die TextField-Instanz auf der Bühne angehängt.

Hinweis: Zum Testen des Beispiels müssen beide SWF-Dateien gleichzeitig auf denselben Computer geladen werden.

// 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 ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.