ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.net 

LocalConnection  - AS3

Pakietyx

Najwyższy poziom
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

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.net
Klasapublic class LocalConnection
DziedziczenieLocalConnection Inheritance EventDispatcher Inheritance Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Klasa LocalConnection umożliwia utworzenie obiektu LocalConnection, który będzie w stanie wywołać metodę w innym obiekcie LocalConnection. Komunikacja może zachodzić:
  • w ramach jednego pliku SWF;
  • między wieloma plikami SWF;
  • między treścią (SWF lub opartą na HTML) w aplikacjach AIR;
  • między treścią (SWF lub opartą na HTML) w aplikacji AIR a treścią SWF działającą w przeglądarce.

Obsługa profilów AIR: Ta funkcja jest obsługiwana we wszystkich systemach operacyjnych dla komputerów stacjonarnych oraz na wszystkich urządzeniach telewizyjnych ze środowiskiem AIR, ale nie jest obsługiwana na urządzeniach przenośnych. W czasie wykonywania można sprawdzić, czy funkcja jest obsługiwana, odczytując właściwość LocalConnection.isSupported. Więcej informacji o obsłudze elementów interfejsu API w różnych profilach można znaleźć w sekcji Obsługa profilów aplikacji AIR.

Uwaga: Urządzenia telewizyjne ze środowiskiem AIR obsługują komunikację tylko między zawartością SWF w aplikacjach AIR.

Połączenia lokalne umożliwiają ten rodzaj komunikacji pomiędzy plikami SWF bez konieczności użycia metody fscommand() lub języka JavaScript. Obiekty LocalConnection mogą się komunikować jedynie między plikami uruchomionymi na tym samym komputerze klienckim, ale mogą również być uruchomione w różnych aplikacjach — np. plik uruchomiony przez przeglądarkę i plik SWF uruchomiony w środowisku AIR.

Obiekty LocalConnection utworzone przy użyciu ActionScript 3.0 mogą komunikować się z obiektami LocalConnection utworzonymi za pomocą ActionScript 1.0 lub 2.0. Sytuacja odwrotna jest również możliwa: obiekty LocalConnection utworzone w ActionScript 1.0 lub 2.0 mogą komunikować się z obiektami LocalConnection utworzonymi przy użyciu ActionScript 3.0. Komunikacja pomiędzy obiektami LocalConnection różnych wersji obsługiwana jest przez program Flash Player automatycznie.

Istnieją trzy sposoby dodawania metod wywołań zwrotnych do obiektu LocalConnection:

  • Utwórz podklasę klasy LocalConnection i dodaj metody.
  • Ustaw dla właściwości LocalConnection.client obiekt, który implementuje metody.
  • Utwórz klasę dynamiczną, która rozszerza klasę LocalConnection i dynamicznie dołącz metody.

W zrozumieniu sposobu w jaki należy korzystać z obiektów LocalConnection w celu zaimplementowania komunikacji pomiędzy dwoma plikami pomocne jest identyfikowanie poleceń użytych w każdym pliku. Jeden plik jest nazywany plikiem odbierającym; jest to plik zawierający metodę, która będzie wywoływana. Plik odbierający musi zawierać obiekt LocalConnection oraz wywołanie metody connect(). Drugi plik nazywany jest plikiem wysyłającym ; jest to plik, który wywołuje metodę. Plik wysyłający musi zawierać obiekt LocalConnection oraz wywołanie metody send().

Korzystanie z metody send() i connect() różni się w zależności od tego, czy pliki znajdują się w tej samej domenie, w różnych domenach z ich przewidywalnymi nazwami lub też w domenach z nieprzewidywalnymi nazwami lub nazwy te są dynamiczne. Te trzy rożne sytuacje wyjaśniają poniższe akapity, które zawierają również przykładowe kody dla każdej z nich.

Jednakowa domena. Zezwolenie na komunikowanie się jedynie pomiędzy obiektami LocalConnection umieszczonymi w tej samej domenie jest najprostszym sposobem używania obiektu LocalConnection, ponieważ domyślnie takiego rodzaju komunikacja jest dozwolona. Podczas komunikowania się plików z tej samej domeny nie ma konieczności implementowania jakiejkolwiek szczególnych form zabezpieczeń, można po prostu przekazać tę samą wartość parametru connectionName do metody connect() i send():

Ładowanie z tej samej domeny

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

Różne domeny z przewidywalnymi nazwami. Podczas komunikowania się plików SWF z różnych domen należy zezwolić na komunikację pomiędzy dwiema domenami za pomocą wywołania metody allowDomain(). Należy również kwalifikować nazwę połączenia w metodzie send() nazwą domeny obiektu odbierającego LocalConnection:

Ładowanie z różnych domen

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

Różne domeny z nieprzewidywalnymi nazwami. Czasami istnieje chęć uczynienia pliku z obiektem odbierającym LocalConnection bardziej przenośnym pomiędzy domenami. Aby uniknąć określania nazwy domeny w metodzie send(), lecz wskazać, że wysyłanie i odbiór obiektów LocalConnection nie odbywa się w tej samej domenie, należy poprzedzić nazwę połączenia znakiem podkreślenia (_) w obu wywołaniach metod connect() i send(). Aby zezwolić na komunikację pomiędzy dwiema domenami, należy wywołać metodę allowDomain() i przekazać domeny, z których będzie możliwe wywoływanie obiektów LocalConnection. W innym wypadku należy przekazać argument wieloznaczny (*) w celu zezwolenia na wywoływanie ze wszystkich domen:

Ładowanie z domen o nieznanych nazwach

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

Z programu Flash Player do aplikacji AIR. Obiekt LocalConnection utworzony w obszarze izolowanym aplikacji AIR jako swojego przedrostka połączenia zamiast nazwy domeny używa specjalnego ciągu znaków. Ten ciąg znaków ma postać: app#IDapl.IDwyd, gdzie IDapl to ID aplikacji, a IDwyd to ID wydawcy aplikacji. (Jeśli aplikacja AIR używa ID wydawcy, należy użyć tylko tego ID). Na przykład, jeśli aplikacja AIR ma ID aplikacji "com.przykład" i nie ma ID wydawcy, jako ciągu znaków połączenia lokalnego można użyć: app#com.przykład:mojePołączenie. Aplikacja AIR musi również wywołać metodę allowDomain(), przekazując w wywołaniu domenę początkową pliku SWF:

Połączenie z programu Flash Player do środowiska 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');

Uwaga: Jeśli aplikacja AIR ładuje plik SWF poza obszarem izolowanym aplikacji AIR, wówczas obowiązują takie same zasady nawiązywania połączenia lokalnego jak w przypadku nawiązywania połączenia z plikiem SWF uruchomionym w programie Flash Player.

Z aplikacji AIR do programu Flash Player. Po nawiązaniu komunikacji aplikacji AIR z plikiem SWF uruchomionym w środowisku wykonawczym Flash Player należy zezwolić na jej rozpoczęcie przez wywołanie meotdy allowDomain() i przekazanie przedrostka połączenia aplikacji AIR. Na przykład, jeśli aplikacja AIR ma ID aplikacji "com.przykład" i nie ma ID wydawcy do metody allowDomain() można przekazać ciąg znaków app#com.przykład. Należy również kwalifikować nazwę połączenia w metodzie send() nazwą domeny obiektu odbierającego LocalConnection (dla plików SWF załadowanych z lokalnego systemu plików jako domeny należy użyć "localhost"):

Komunikacja środowiska AIR z programem 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');

Z aplikacji AIR do innej aplikacji AIR. Aby umożliwić komunikację między dwoma aplikacjami AIR, należy zezwolić na jej rozpoczęcie przez wywołanie metody allowDomain() i przekazanie przedrostka połączenia aplikacji wysyłającej AIR. Na przykład, jeśli aplikacja wysyłająca AIR ma ID aplikacji "com.przykład" i nie ma ID wydawcy, do metody allowDomain() aplikacji odbierającej można przekazać ciąg znaków app#com.przykład. Należy również kwalifikować nazwę połączenia w metodzie send() przedrostkiem połączenia obiektu odbierającego LocalConnection:

Komunikacja AIR do 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');

Obiektów LocalConnection można użyć do wysyłania i odbierania danych w ramach pojedynczego pliku, ale nie jest to typowa implementacja.

Aby uzyskać więcej informacji na temat metod send() i connect(), zobacz omówienie parametru connectionName we wpisach dotyczących metod LocalConnection.send() oraz LocalConnection.connect(). Zobacz również wpisy dotyczące metody allowDomain() oraz domain.

Wyświetl przykłady

Powiązane elementy interfejsu API



Właściwości publiczne
 WłaściwośćZdefiniowane przez
  client : Object
Wskazuje obiekt, w ramach którego są uaktywniane metody wywołań zwrotnych.
LocalConnection
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
  domain : String
[tylko do odczytu] Ciąg znaków reprezentujący domenę bieżącego pliku.
LocalConnection
  isPerUser : Boolean
Określa, czy zasięg obiektu LocalConnection jest ograniczony do bieżącego użytkownika (true), czy też obiekt ten jest globalnie dostępny dla wszystkich użytkowników komputera (false).
LocalConnection
  isSupported : Boolean
[statyczny] [tylko do odczytu] Właściwość isSupported ma wartość true, jeśli na bieżącej platformie jest obsługiwana klasa LocalConnection; w przeciwnym razie ma wartość false.
LocalConnection
Metody publiczne
 MetodaZdefiniowane przez
  
Tworzy nowy obiekt LocalConnection.
LocalConnection
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu.
EventDispatcher
  
Pozwala określić domenę lub domeny, które mogą wysyłać wywołania typu LocalConnection do tej instancji obiektu LocalConnection.
LocalConnection
  
Pozwala określić domenę lub domeny z możliwością wysyłania wywołań LocalConnection do tego obiektu LocalConnection.
LocalConnection
  
Zamyka obiekt LocalConnection (co skutkuje rozłączeniem).
LocalConnection
  
connect(connectionName:String):void
Przygotowuje obiekt LocalConnection na odbieranie poleceń wysyłanych za pośrednictwem polecenia send() (z wysyłającego obiektu LocalConnection).
LocalConnection
 Inherited
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń.
EventDispatcher
 Inherited
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń.
EventDispatcher
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Usuwa detektor z obiektu EventDispatcher.
EventDispatcher
  
send(connectionName:String, methodName:String, ... arguments):void
Wywołuje metodę o nazwie methodName w ramach połączenia otwartego za pomocą metody connect(connectionName) (w odbierającym obiekcie LocalConnection).
LocalConnection
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
 Inherited
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych.
EventDispatcher
Zdarzenia
 Zdarzenie Podsumowanie Zdefiniowane przez
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny.EventDispatcher
  Wywoływana w przypadku asynchronicznego zgłoszenia wyjątku — pochodzącego z macierzystego kodu asynchronicznego.LocalConnection
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny.EventDispatcher
  Wywoływana, jeśli wywołanie metody LocalConnection.send() skutkuje próbą wysłania danych do innego obszaru izolowanego.LocalConnection
  Wywoływana, gdy obiekt LocalConnection zgłasza swój stan.LocalConnection
Szczegół właściwości

client

właściwość
client:Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wskazuje obiekt, w ramach którego są uaktywniane metody wywołań zwrotnych. Domyślnym obiektem jest to (this) tworzone połączenie lokalne. Właściwość client można ustawić na inny obiekt i metody wywołania zwrotnego będą wywoływane na rzecz tego innego obiektu.



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

Zgłasza
TypeError — Właściwość client musi obiektem różnym od wartości null.

domain

właściwość 
domain:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Ciąg reprezentujący domenę bieżącego pliku.

Jeśli treść działająca w obszarze izolowanym zabezpieczeń application środowiska Adobe AIR (treść instalowana z aplikacją AIR), środowisko wykonawcze zamiast naddomeny wpisuje ciąg znaków app#, po którym następuje identyfikator aplikacji AIR (zdefiniowany w pliku deskryptora aplikacji). Na przykład wartość connectionName dla aplikacji o identyfikatorze com.example.air.MyApp connectionName jest tłumaczona na"app#com.example.air.MyApp:connectionName".

W plikach SWF opublikowanych dla programu Flash Player 9 lub późniejszych wersji zwrócony ciąg znaków jest dokładną domeną pliku, włącznie z poddomenami. Na przykład, jeśli plik jest umieszczony na stronie www.adobe.com, to polecenie zwróci "www.adobe.com".

Jeśli bieżący plik jest plikiem lokalnym znajdującym się na komputerze klienckim i działającym w programie Flash Player, to polecenie zwraca "localhost".

Najpowszechniejszymi sposobami na korzystanie z tej właściwości są dołączenie nazwy domeny wysyłającego obiektu LocalConnection jako parametru dla metody, która zostanie wywołana w odbierającym obiekcie LocalConnection object lub użycie jej w metodzie LocalConnection.allowDomain() w celu zaakceptowania poleceń z określonej domeny. Jeśli umożliwi się komunikację jedynie pomiędzy obiektami LocalConnection znajdującymi się w tej samej domenie, prawdopodobnie nie będzie potrzeby korzystania z tej właściwości.



Implementacja
    public function get domain():String

Powiązane elementy interfejsu API

isPerUser

właściwość 
isPerUser:Boolean

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.0.32, AIR 1.5.2

Określa, czy zasięg obiektu LocalConnection jest ograniczony do bieżącego użytkownika (true), czy też obiekt ten jest globalnie dostępny dla wszystkich użytkowników komputera (false). Ta właściwość ma wpływ wyłącznie na treść działającą w systemie Mac OS X; pozostałe platformy ignorują ten parametr. Połączenia w systemach operacyjnych Windows i Linux są zawsze przypisane do konkretnego użytkownika.

W programie Flash Player 10.0.22 i wcześniejszych wersjach oraz w środowisku AIR 1.5.1 i wcześniejszych wersjach wszystkie obiekty LocalConnection w systemie Mac OS X mają zasięg globalny. Tę właściwość należy zawsze ustawiać na true, chyba że konieczne jest zachowanie zgodności z wcześniejszymi wersjami. W przyszłych wersjach domyślna wartość tej właściwości może zostać zmieniona na true.

Wartością domyślną jest false.



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

isSupported

właściwość 
isSupported:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Właściwość isSupported ma wartość true, jeśli na bieżącej platformie jest obsługiwana klasa LocalConnection; w przeciwnym razie ma wartość false.



Implementacja
    public static function get isSupported():Boolean
Konstruktor Szczegół

LocalConnection

()Konstruktor
public function LocalConnection()

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Tworzy nowy obiekt LocalConnection. Obiekty LocalConnection umożliwiają komunikację pomiędzy dwoma plikami, które są uruchomione na tym samym komputerze klienckim.

Powiązane elementy interfejsu API

Szczegół metody

allowDomain

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Pozwala określić domenę lub domeny z możliwością wysyłania wywołań LocalConnection do tego wystąpienia klasy LocalConnection.

Nie można skorzystać z tej metody, aby zezwolić plikom, udostępnianym za pomocą bezpiecznego protokołu (HTTPS), na dostęp z plików udostępnianych przez protokoły bez zabezpieczeń; zamiast tego należy skorzystać z metody allowInsecureDomain().

Tej metody można użyć, aby podrzędny plik z innej domeny mógł dokonywać wywołań LocalConnection do nadrzędnego pliku, nie znając ostatecznej domeny, z której pochodzi plik podrzędny Taka sytuacja ma miejsce np. w momencie korzystania z przekierowań równoważących obciążenie lub serwerów innych firm. W tej sytuacji można skorzystać z właściwości url obiektu LoaderInfo, użytej podczas ładowania, aby otrzymać domenę dla metody allowDomain(). Na przykład, jeśli obiekt Loader zostanie użyty w celu załadowania podrzędnego pliku, po jego załadowaniu można zweryfikować właściwość contentLoaderInfo.url obiektu Loader i wydzielić domenę z pełnego ciągu znaków adresu URL. Po wykonaniu tych czynności należy zaczekać, aż plik zostanie załadowany, ponieważ właściwość contentLoaderInfo.url nie posiada ostatecznej, prawidłowej wartości do czasu całkowitego załadowania.

Może się zdarzyć także sytuacja odwrotna: tworzenie podrzędnego pliku, który będzie akceptował wywołania LocalConnection z jego pliku nadrzędnego, ale nie będzie miał wiedzy na temat domeny własnego pliku nadrzędnego. W tej sytuacji należy zaimplementować tę metodę sprawdzając, czy argument domeny jest zgodny z domeną właściwości loaderInfo.url w załadowanym pliku Ponownie należy wydzielić domenę z pełnego adresu URL z właściwości loaderInfo.url. W tej sytuacji nie ma konieczności czekania na załadowanie nadrzędnego pliku; nadrzędny plik zostanie załadowany zanim załadowany zostanie plik podrzędny.

Korzystając z tej metody, należy wziąć pod uwagę model zabezpieczeń programu Flash Player. Domyślnie obiekt LocalConnection jest skojarzony z obszarem izolowanym pliku, który go utworzył i międzydomenowe wywołania obiektów LocalConnection są niedozwolone, do momentu wywołania w pliku odbierającym metody LocalConnection.allowDomain(). Jednak w aplikacji Adobe AIR zawartość obszaru izolowanego application (zawartość instalowana razem z aplikacją AIR) nie jest ograniczana przez te reguły zabezpieczeń.

Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w Centrum programistów programu Flash Player w kategorii Bezpieczeństwo.

Uwaga: Postać metody allowDomain() uległa zmianie w porównaniu z tą, jaką miała w ActionScript 1.0 i 2.0. W tych wcześniejszych wersjach metoda allowDomain była metodą wywołania zwrotnego implementowaną przez użytkownika. W ActionScript 3.0 metoda allowDomain() jest metodą wbudowaną LocalConnection, kóry jest wywoływany. Z tą zmianą metoda allowDomain() działa w sposób zbliżony do metody flash.system.Security.allowDomain().

Parametry

... domains — Jeden lub więcej ciągów znaków określające nazwy domen, z których dozwolone będą wywołania LocalConnection. Ten parametr ma dwa szczególne przypadki:
  • Można określić argument wieloznaczny „*” w celu zezwolenia na wywołania ze wszystkich domen:
  • Można określić ciąg znaków „localhost” w celu zezwolenia na wywołania tego pliku z plików, które są zainstalowane lokalnie. W programie Flash Player 8 wprowadzono ograniczenia dla lokalnych plików Domyślnie plik SWF działający w programie Flash Player, któremu zezwolono na dostęp do Internetu, nie może mieć również dostępu do lokalnego systemu plików. W programie Flash Player określenie ciągu znaków "localhost" spowoduje, że każdy lokalny plik SWF będzie miał dostęp do tego pliku SWF.


Zgłasza
ArgumentError — Wszystkie określone parametry muszą być ciągami znaków różnymi od wartości null.

Powiązane elementy interfejsu API

allowInsecureDomain

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Pozwala określić domenę lub domeny, które mogą wysyłać wywołania typu LocalConnection do tego obiektu LocalConnection.

Metoda allowInsecureDomain() działa podobnie jak metoda allowDomain(), za wyjątkiem tego, że metoda allowInsecureDomain() dodatkowo zezwala plikom, które nie są udostępniane za pomocą HTTPS, aby wywołania LocalConnection były wysyłane do plików SWF, które są udostępniane za pomocą HTTPS. Ta różnica jest znacząca jedynie wtedy, gdy metoda allowInsecureDomain() wywoływana jest z pliku, który został załadowany za pomocą HTTPS. Metodę allowInsecureDomain() należy wywołać nawet wtedy, gdy napotkana obwiednia jest inna niż HTTPS/HTTPS w tej samej domenie; domyślnie na wywołania LocalConnection z plików nieudostępnianych za pomocą HTTPS do plików udostępnianych za pomocą HTTPS nigdy nie ma zezwolenia, nawet wewnątrz tej samej domeny.

Wywoływanie metody allowInsecureDomain() nie jest zalecane, ponieważ może to narażać bezpieczeństwo oferowane przez protokół HTTPS. Podczas ładowania pliku za pomocą HTTPS można być pewnym, że plik nie zostanie naruszony w czasie dostarczania przez sieć. Jeśli plikom nieudostępnianym za pomocą HTTPS zezwoli się na wywołania LocalConnection do plików udostępnianych za pomocą HTTPS, zaakceptowane zostaną wywołania z pliku, które mogły w rzeczywistości zostać naruszone podczas dostarczania. Wymaga to zazwyczaj dodatkowej czujności, ponieważ nie można ufać autentyczności wywołań LocalConnection, które dostarczane są do pliku udostępnianego za pomocą HTTPS.

Domyślnie do plików udostępnianych za pomocą protokołu HTTPS dostęp mogą uzyskać jedynie inne pliki udostępniane za pomocą protokołu HTTPS. Ta implementacja zachowuje integralność zapewnianą przez protokół HTTPS.

Korzystanie z tej metody w celu nadpisania domyślnego zachowania nie jest zalecane, ponieważ naraża to zabezpieczenia HTTPS. Jednak może zaistnieć potrzeba jej użycia, na przykład, jeśli potrzebne jest zezwolenie na dostęp do plików SWF HTTPS opublikowanych dla programu Flash Player 9 lub późniejszych wersji z plików SWF HTTP opublikowanych dla programu Flash Player 6 lub wcześniejszych wersji.

Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w Centrum programistów programu Flash Player w kategorii Bezpieczeństwo.

Parametry

... domains — Jeden lub więcej ciągów znaków określające nazwy domen, z których dozwolone będą wywołania LocalConnection. Istnieją dwa specjalne przypadki dla tego parametru:
  • Można określić argument wieloznaczny „*” w celu zezwolenia na wywołania ze wszystkich domen: Określnie „*” nie obejmuje hostów lokalnych.
  • Można określić ciąg znaków „localhost” w celu zezwolenia na wywołania tego pliku SWF z plików SWF, które są zainstalowane lokalnie. W porogramie Flash Player 8 wprowadzono ograniczenia dla lokalnych plików SWF. Plik SWF, któremu zezwolono na dostęp do Internetu, nie może mieć również dostępu do lokalnego systemu plików. Jeśli określony zostanie „localhost”, każdy lokalny plik SWF będzie miał dostęp do tego pliku SWF. Należy pamiętać, aby w czasie projektowania wskazać wywołujący plik SWF jako lokalny plik SWF z dostępem do sieci.


Zgłasza
ArgumentError — Wszystkie określone parametry muszą być ciągami znaków różnymi od wartości null.

Powiązane elementy interfejsu API

close

()metoda 
public function close():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Zamyka obiekt LocalConnection (co skutkuje rozłączeniem). To polecenie należy wydać, jeśli nie ma już dłużej potrzeby, aby obiekt przyjmował polecenia — na przykład, jeśli wydawane jest polecenie connect() z użyciem takiego samego parametru connectionName w innym pliku SWF.


Zgłasza
ArgumentError — Instancja LocalConnection nie jest połączona, dlatego nie może zostać zamknięta.

Powiązane elementy interfejsu API

connect

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Przygotowuje obiekt LocalConnection do odbierania poleceń wysyłanych za pośrednictwem polecenia send() (z wysyłającego obiektu LocalConnection). Obiekt używany w metodzie connect() nazywany jest odbierającym obiektem LocalConnection. Obiekty wysyłający i odbierający muszą być uruchomione na tym samym komputerze klienckim.

Aby uniknąć sytuacji wyścigu, należy zdefiniować metody dołączane do odbierającego obiektu LocalConnection przed wywołaniem tej metody tak, jak pokazano w przykładzie klasy LocalConnection.

Domyślnie argument connectionName jest tłumaczony na wartość " superdomain :connectionName" , gdzie superdomain jest naddomeną pliku zawierającego polecenie connect(). Na przykład, jeśli plik zawierający obiekt LocalConnection jest umieszczony w www.someDomain.com, parametr connectionName dzieli się na "someDomain.com:connectionName". (Jeśli plik jest umieszczony na komputerze klienckim, wartością właściwości superdomain jest "localhost").

Jeśli treść działająca w obszarze izolowanym zabezpieczeń application środowiska Adobe AIR (treść instalowana z aplikacją AIR), środowisko wykonawcze zamiast naddomeny wpisuje ciąg znaków app#, po którym następuje identyfikator aplikacji AIR (zdefiniowany w pliku deskryptora aplikacji). Na przykład wartość connectionName dla aplikacji o identyfikatorze com.example.air.MyApp connectionName jest tłumaczona na"app#com.example.air.MyApp:connectionName".

Domyślnie program Flash Player zezwala również obiektowi odbierającemu LocalConnection na przyjmowanie poleceń tylko od obiektu LocalConnection, którego nazwa połączenia również daje się podzielić na wartości "naddomena:nazwaPołączenia". W ten sposób program Flash Player ułatwia plikom umieszczonym w tej samej domenie komunikowanie się między sobą.

Implementując komunikację pomiędzy plikami z tej samej domeny, należy określić ciąg znaków dla parametru connectionName, który nie rozpoczyna się znakiem podkreślenia (_) i nie precyzuje nazwy domeny (np. "myDomain:connectionName"). Użyj tej samego ciągu znaków w metodzie connect(connectionName).

Implementując komunikację pomiędzy plikami z różnych domen, należy określić ciąg znaków dla parametru connectionName, który rozpoczyna się znakiem podkreślenia (_) czyniąc tym samym plik z obiektem odbierającym LocalConnection bardziej przenośnym pomiędzy domenami. Istnieją dwa możliwe przypadki:

  • Jeśli ciąg znaków dla parametru connectionName nie zawiera znaku podkreślenia (_), dodawany jest przedrostek w postaci naddomeny i dwukropka (np. "myDomain:connectionName"). Chociaż ta metoda zapewnia, że połączenie użytkownika nie wejdzie w konflikt z połączeniami o tej samej nazwie z pozostałych domen, dla obiektów wysyłających LocalConnection należy określić tę samą naddomenę (np. "mojaDomena:nazwaPołączenia"). Jeśli plik z odbierającym obiektem LocalConnection zostanie przeniesiony do innej domeny, odtwarzacz zmieni prefiks tak, aby odzwierciedlał nową naddomenę (np. "anotherDomain:connectionName"). Wszystkie wysyłające obiekty LocalConnection należy edytować ręcznie tak, aby wskazywały na nową naddomenę.
  • Jeśli ciąg znaków connectionName rozpoczyna się od znaku podkreślenia (na przykład "_connectionName"), a przedrostek nie jest dodawany do ciągu znaków. Oznacz to, że wysyłające i odbierające obiekty LocalConnection korzystają z takich samych ciągów znaków dla parametru connectionName. Jeśli obiekt odbierający korzysta z metody allowDomain() w celu wyszczególnienia, że połączenia ze wszystkich domen będą akceptowane, plik z obiektem odbierającym LocalConnection może zostać przeniesiony do innej domeny bez zmieniania jakiegokolwiek obiektu wysyłającego LocalConnection.

Aby uzyskać więcej informacji, zobacz omówienie w opisie klasy oraz omówienie parametru connectionName w metodzie send(), a także wpisy dotyczące metody allowDomain() i domain.

Uwaga: Dwukropki są używane jako znaki specjalne w celu rozdzielenia naddomeny od ciągu znaków parametru connectionName. Ciąg znaków parametru connectionName, który zawiera znak dwukropka jest nieprawidłowy.

Korzystając z tej metody, należy wziąć pod uwagę następujący model zabezpieczeń programu Flash Player. Domyślnie obiekt LocalConnection jest skojarzony z obszarem izolowanym pliku, który go utworzył, i międzydomenowe wywołania obiektów LocalConnection są niedozwolone, do momentu wywołania w pliku odbierającym metody LocalConnection.allowDomain(). Istnieje możliwość zablokowania pliku przed korzystaniem z tej metody, ustawiając parametr allowNetworking znaczników object oraz embed na stronie HTML zawierającej treść SWF. Jednak w aplikacji Adobe AIR zawartość obszaru izolowanego application (zawartość instalowana razem z aplikacją AIR) nie jest ograniczana przez te reguły zabezpieczeń.

Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w Centrum programistów programu Flash Player w kategorii Bezpieczeństwo.

Parametry

connectionName:String — Ciąg znaków odpowiadający nazwie połączenia określonego w poleceniu send(), którego zadaniem jest komunikacja z obiektem odbierającym LocalConnection.


Zgłasza
TypeError — Wartość przekazana do parametru connectionName nie może mieć wartości null.
 
ArgumentError — Ten błąd może pojawić się z trzech powodów: 1) Ciąg znaków przekazany do parametru connectionName miał wartość null. Wprowadź wartość różną od null. 2) Wartość przekazana do parametru connectionName zawiera znak dwukropka (:). Dwukropki są używane jako znaki specjalne w celu rozdzielenia naddomeny od ciągu znaków parametru connectionName w metodzie send(), nie w metodzie connect(). 3) Instancja LocalConnection jest już połączona.

Powiązane elementy interfejsu API

send

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wywołuje metodę o nazwie methodName w połączeniu otwartym za pomocą metody connect(connectionName) (w odbierającym obiekcie LocalConnection). Obiekt używany w metodzie send() nazywany jest wysyłającym obiektem LocalConnection. Pliki SWF, które zawierająobiekty wysyłające i odbierające muszą być uruchomione na tym samym komputerze klienckim.

Istnieje ograniczenie do 40 kilobajtów dla danych przekazywanych jako parametr do tej metody. Jeśli metoda send() zgłasza błąd ArgumentError mimo, że składnia jest poprawna, należy spróbować rozdzielić żądania send() na wiele poleceń, z których każde obsłuży mniej niż 40 KB danych.

Tak jak wspomniano w omówieniu metody connect(), domyślnie do nazwy connectionName dodawana jest bieżąca naddomena. Implementując komunikację pomiędzy różnymi domenami, należy zdefiniować parametr connectionName w obu, wysyłających i odbierających, obiektach LocalConnection w taki sposób, by bieżąca naddomena nie była dodawana do parametru connectionName. Można tego dokonać w jeden z następujących sposobów:

  • Użyj znaku podkreślenia (_) na początku parametru connectionName w obu obiektach LocalConnection — wysyłającym i odbierającym. W pliku zawierającym obiekt odbierający, użyj metody LocalConnection.allowDomain() w celu wyszczególnienia, że połączenia ze wszystkich domen będą akceptowane. Ta implementacja pozwala na przechowywanie wysyłających i odbierających plików w każdej domenie.
  • Dołącz naddomenę w parametrze connectionName w obiekcie wysyłającym LocalConnection — na przykład myDomain.com:myConnectionName. W obiekcie odbierającym skorzystaj z metody LocalConnection.allowDomain() w celu wyszczególnienia, że akceptowane będą połączenia z określonej naddomeny (w tym przypadku, myDomain.com) lub akceptowane będą połączenia ze wszystkich domen.

Uwaga: Nie należy określać naddomeny w parametrze connectionName dla odbierającego obiektu LocalConnection — można to zrobić jedynie w obiekcie wysyłającym LocalConnection.

Korzystając z tej metody, należy wziąć pod uwagę następujący model zabezpieczeń programu Flash Player. Domyślnie obiekt LocalConnection jest skojarzony z obszarem izolowanym pliku, który go utworzył, i międzydomenowe wywołania obiektów LocalConnection są niedozwolone, do momentu wywołania w pliku odbierającym metody LocalConnection.allowDomain(). W przypadku treści SWF działającej w przeglądarce istnieje możliwość zapobieżenia użyciu tej metody w pliku; należy w tym celu ustawić parametr allowNetworking znaczników object oraz embed na stronie HTML zawierającej treść SWF. Jednak w aplikacji Adobe AIR zawartość obszaru izolowanego application (zawartość instalowana razem z aplikacją AIR) nie jest ograniczana przez te reguły zabezpieczeń.

Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w Centrum programistów programu Flash Player w kategorii Bezpieczeństwo.

Parametry

connectionName:String — Zgodnie z nazwą połączenia określoną w poleceniu connect(), które będzie komunikować się z obiektem wysyłającym LocalConnection.
 
methodName:String — Nazwa metody, która zostanie wywołana w obiekcie odbierającym LocalConnection. Następujące nazwy metod skutkują niepowodzeniem wykonania polecenia: send, connect, close, allowDomain, allowInsecureDomain, client oraz domain.
 
... arguments — Dodatkowe, opcjonalne parametry przekazywane do określonej metody.


Zdarzenia
securityError:SecurityErrorEvent — Metoda LocalConnection.send() usiłowała komunikować się z plikiem SWF z obszaru izolowanego zabezpieczeń, do którego kod wywołania nie ma dostępu. Istnieje możliwość obejścia tej sytuacji w implementacji metody LocalConnection.allowDomain() obiektu odbierającego.
 
status:StatusEvent — Jeśli właściwość level ma wartość "status", wywołanie powiodło się; jeśli ma wartość "error", wywołanie nie powiodło się. Wywołanie może zakończyć się niepowodzeniem, jeśli plik SWF odrzuci połączenie.

Zgłasza
TypeError — Wartością parametru connectionName lub methodName jest wartość null. Dla tych parametrów należy przekazać wartość różną od null.
 
ArgumentError — Ten błąd może wystąpić z jednego z następujących powodów: 1) Wartością parametru connectionName lub methodName jest pusty ciąg znaków. Dla tych parametrów należy przekazać prawidłowe ciągi znaków. 2) Wywołanie metody określonej w parametrze methodName jest niedozwolone. 3) Serializowany komunikat, który jest wysyłany, jest zbyt duży (ponad 40 kB).

Powiązane elementy interfejsu API

Szczegół zdarzenia

asyncError

Zdarzenie
Typ obiektu zdarzenia: flash.events.AsyncErrorEvent
właściwość AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wywoływana w przypadku asynchronicznego zgłoszenia wyjątku — pochodzącego z macierzystego kodu asynchronicznego.

Stała AsyncErrorEvent.ASYNC_ERROR definiuje wartość właściwości type obiektu zdarzenia asyncError.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetObiekt wywołujący zdarzenie
errorBłąd, który spowodował wywołanie zdarzenia.

securityError

Zdarzenie  
Typ obiektu zdarzenia: flash.events.SecurityErrorEvent
właściwość SecurityErrorEvent.type = flash.events.SecurityErrorEvent.SECURITY_ERROR

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wywoływana, jeśli wywołanie metody LocalConnection.send() skutkuje próbą wysłania danych do innego obszaru izolowanego.

Stała SecurityErrorEvent.SECURITY_ERROR definiuje wartość właściwości type obiektu zdarzenia securityError.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetObiekt sieciowy zgłaszający błąd zabezpieczeń.
textTekst, który ma być wyświetlany w charakterze komunikatu o błędzie.

Powiązane elementy interfejsu API

status

Zdarzenie  
Typ obiektu zdarzenia: flash.events.StatusEvent
właściwość StatusEvent.type = flash.events.StatusEvent.STATUS

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Dysponowana, gdy obiekt LocalConnection zgłasza swój stan. Jeśli metoda LocalConnection.send() zakończy się powodzeniem, wartością właściwościlevel obiektu zdarzenia status jest "status"; jeśli wywołanie zakończy się niepowodzeniem właściwość level ma wartość "error". Jeśli odbierający plik odrzuci połączenie, wywołanie może zakończyć się niepowodzeniem bez powiadomienia dla pliku wysyłającego

Definiuje wartość właściwości type obiektu zdarzenia status.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
codeOpis stanu obiektu.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
levelKategoria komunikatu, np. "status", "warning" lub "error".
targetObiekt informujący o swoim stanie.

Powiązane elementy interfejsu API

LocalConnectionSenderExample.as

Ten przykład zawiera dwie klasy ActionScript, które należy skompilować tak, aby w wyniku otrzymać dwa oddzielne pliki SWF:

W pliku SWF LocalConnectionSenderExample tworzona jest instancja LocalConnection i kiedy zostanie naciśnięty przycisk, metoda call() zostanie użyta w celu wywołania metody o nazwie lcHandler w pliku SWF, którego nazwa połączenia to "myConnection," przekazując treść pola TextField jako parametr.

W pliku SWF LocalConnectionReceiverExample tworzona jest instancja LocalConnection i wywoływana jest metoda connect() w celu wskazania tego pliku SWF jako odbiorcy komunikatów, które są adresowane do połączenia o nazwie „myConnection”. Poza tym ta klasa zawiera metodę publiczną o nazwie lcHandler(); ta metoda jest tą, która wywoływana jest przez plik SWF LocalConnectionSenderExample. W czasie momencie·tekst, który jest przekazywany jako parametr, jest dołączany do pola·TextField na stole montażowym.

Uwaga: Aby przetestować ten przykład, oba pliki SWF muszą być ładowane na tym samym komputerze jednocześnie.

// 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 ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.