Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: AIR 30.0 или более ранней версии, Flash Player 30.0 или более ранней версии, Flash Lite 4
Flex 4.6 или более ранней версии, Flash Pro CS6 или более ранней версии
Скрыть фильтры
flash.net 

LocalConnection  - AS3

Пакетыx

Верхний уровень
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

Элементы языка

Глобальные константы
Глобальные функции
Операторы
Инструкции, ключевые слова и директивы
Специальные типы

Приложения

Новые возможности
Ошибки компилятора
Предупреждения компилятора
Ошибки времени выполнения
Миграция ActionScript 3
Поддерживаемые наборы символов
Только MXML
Элементы движения XML
Теги Timed Text
устаревший_индекс
Константы реализации специальных возможностей
Использование примеров
Юридическая информация
Пакетflash.net
Классpublic class LocalConnection
НаследованиеLocalConnection Inheritance EventDispatcher Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Класс LocalConnection позволяет создать объект LocalConnection, который может вызвать метод в другом объекте LocalConnection. Обмен данными может осуществляться:
  • В пределах одного SWF-файла
  • Между несколькими SWF-файлами
  • Между содержимым (на базе SWF или HTML) приложений AIR
  • Между содержимым (на базе SWF или HTML) приложения AIR и содержимым SWF, выполняющимся в обозревателе

Поддержка в профилях AIR: эта функция поддерживается во всех компьютерных операционных системах и на всех устройствах AIR for TV, но не поддерживается на мобильных устройствах. Используйте свойство LocalConnection.isSupported, чтобы проверить наличие поддержки в среде выполнения. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «Поддержка в профилях AIR».

Примечание. На устройствах AIR for TV поддерживается обмен данными только между содержимым SWF в программах AIR.

Локальные подключения обеспечивают подобное взаимодействие между SWF-файлами, не требующее использования fscommand() или JavaScript. Объекты LocalConnection могут обмениваться данными только с файлами, запущенными на том же клиентском компьютере, но при этом могут быть запущены в различных приложениях (например, файл, запущенный в обозревателе, и SWF-файл, запущенный в Adobe AIR).

Объекты LocalConnection, созданные в ActionScript 3.0, могут взаимодействовать с объектами LocalConnection, созданными в ActionScript 1.0 или 2.0. То же самое верно также в обратном направлении: объекты LocalConnection, созданные в ActionScript 1.0 или 2.0, могут взаимодействовать с объектами LocalConnection, созданными в ActionScript 3.0. Проигрыватель Flash Player автоматически обрабатывает связь между объектами LocalConnection разных версий.

Существует три способа добавить методы обратного вызова в объект LocalConnection.

  • создать подкласс для LocalConnection и добавить методы;
  • задать в качестве значения свойства LocalConnection.client объект, реализующий методы;
  • создать динамический класс, расширяющий LocalConnection, и присоединить методы в динамическом режиме.

Для того чтобы разобраться в применении объектов LocalConnection для реализации механизма взаимодействия между двумя файлами, рекомендуется определить команды, используемые в каждом файле. Один из файлов называется принимающим — в этом файле содержится вызываемый метод. Принимающий файл должен содержать объект LocalConnection и вызов метода connect(). Второй файл называется отправляющим. Этот файл и будет вызывать упомянутый метод. Отправляющий файл должен содержать другой объект LocalConnection и вызов метода send().

Применение send() и connect() зависит от размещения файлов: в том же домене, в разных доменах с предсказуемыми именами доменов или в разных доменах с непредсказуемыми или динамическими именами. В последующих абзацах описываются три разные ситуации (с примерами кода для каждой из них).

Один и тот же домен. Это самый простой способ использования объекта LocalConnection, обеспечивающий обмен данными только между теми объектами LocalConnection, которые размещены в одном и том же домене, так как взаимодействие внутри одного домена разрешено по умолчанию. При взаимодействии двух файлов из одного домена не требуется обеспечивать какие-либо специальные меры безопасности. Просто передайте одинаковое значение параметру connectionName для методов connect() и send():

Загрузка из одного и того же домена

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

Разные домены с предсказуемыми именами. При взаимодействии двух SWF-файлов из разных доменов необходимо разрешить обмен данными между двумя доменами путем вызова метода allowDomain(). Также следует определить имя домена принимающего объекта LocalConnection как имя подключения в методе send():

Загрузка с разных доменов

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

Разные домены с непредсказуемыми именами. В некоторых случаях может потребоваться обеспечить большую междоменную мобильность файла с принимающим объектом LocalConnection. Для того чтобы сообщить проигрывателю Flash Player о том, что принимающий и отправляющий объекты LocalConnection находятся в разных доменах, но при этом не указывать имя домена в методе send(), поставьте перед именем подключения символ подчеркивания (_) в вызовах connect() и send(). Для обеспечения обмена данными между двумя доменами, вызовите метод allowDomain() и укажите домены, с которых следует разрешить вызовы LocalConnection. Также, чтобы разрешить вызовы со всех доменов, следует передать аргумент с подстановочным знаком (*):

Загрузка с неизвестных доменных имен

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

Подключение Flash Player к приложению AIR Объект LocalConnection, созданный в изолированной программной среде приложения AIR, использует в качестве префикса соединения специальную строку вместо доменного имени. Это строка имеет формат app#appID.pubID, где appID — это идентификатор приложения, а pubID — идентификатор издателя приложения. (Включать идентификатор издателя следует, только если он используется в приложении AIR.) Например, если в приложении AIR используется идентификатор приложения, например com.example, а идентификатор издателя не используется, в качестве строки локального подключения можно использовать app#com.example:myConnection. Приложение AIR также должно вызывать метод allowDomain() и передать исходный домен вызывающего SWF-файла.

Подключение Flash Player к 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');

Примечание. Если приложение AIR загружает SWF-файл, находящийся за пределами изолированной программной среды приложения AIR, для установки локального подключения с этим SWF-файлом используются те же правила, что и для установки подключения с SWF-файлом, выполняемым в среде Flash Player.

Подключение приложения AIR к Flash Player Когда приложение AIR связывается с SWF-файлом, который выполняется в среде Flash Player, необходимо разрешить связь между ними, вызвав метод allowDomain() и передав ему префикс подключения приложения AIR. Например, если в приложении AIR используется идентификатор приложения com.example, а идентификатор издателя не используется, можно передать строку app#com.example методу allowDomain(). Также следует определить доменное имя принимающего объекта LocalConnection как имя подключения в методе send() (используйте строку «localhost» в качестве домена для SWF-файлов, загруженных из локальной файловой системы):

Связь приложения AIR с 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');

Подключение приложения AIR к другому приложению AIR Чтобы обеспечить соединение между двумя приложениями AIR, необходимо разрешить связь между ними, вызвав метод allowDomain() и передав ему префикс подключения отправляющего приложения AIR. Например, если в отправляющем приложении используется идентификатор приложения com.example, а идентификатор издателя не используется, можно передать строку app#com.example методу allowDomain() принимающего приложения. Также следует определить префикс подключения принимающего объекта LocalConnection как имя подключения в методе send():

Связь AIR с 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');

Объекты LocalConnection можно использовать для отправки и получения данных внутри отдельного файла, но такое применение не является стандартным.

Дополнительные сведения о методах send() и connect() см. в обсуждении параметра connectionName в разделах, посвященных LocalConnection.send() и LocalConnection.connect(). Также см. материалы по allowDomain() и domain.

Посмотреть примеры

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
  client : Object
Указывает объект, для которого вызываются методы ответного вызова.
LocalConnection
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  domain : String
[только для чтения] Строка, представляющая домен расположения текущего файла.
LocalConnection
  isPerUser : Boolean
Указывает, определен ли объект LocalConnection только для текущего пользователя (true) или глобально доступен для всех пользователей компьютера (false).
LocalConnection
  isSupported : Boolean
[статические] [только для чтения] Свойству isSupported задается значение true, если текущая платформа поддерживает класс LocalConnection, в противном случае задается значение false.
LocalConnection
Общедоступные методы
 МетодОпределено
  
Создает объект LocalConnection.
LocalConnection
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии.
EventDispatcher
  
Задает один или несколько доменов, которые могут направлять вызовы LocalConnection к данному экземпляру LocalConnection.
LocalConnection
  
Задает один или несколько доменов, которые могут направлять вызовы LocalConnection к данному объекту LocalConnection.
LocalConnection
  
Закрывает (отключает) объект LocalConnection.
LocalConnection
  
connect(connectionName:String):void
Подготавливает объект LocalConnection к получению команд, отправленных с помощью команды send() (от отправляющего объекта LocalConnection).
LocalConnection
 Inherited
Посылает событие в поток событий.
EventDispatcher
 Inherited
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
  
send(connectionName:String, methodName:String, ... arguments):void
Вызывает метод с именем methodName для подключения, открытого методом connect (connectionName) (в принимающем объекте LocalConnection).
LocalConnection
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным.EventDispatcher
  Отправляется, когда исключение создается асинхронным образом — то есть в коде, изначально имеющем асинхронную природу.LocalConnection
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным.EventDispatcher
  Отправляется, если путем вызова метода LocalConnection.send() предпринимается попытка отправить данные в другую изолированную среду.LocalConnection
  Отправляется, когда объект LocalConnection сообщает о своем состоянии.LocalConnection
Сведения о свойстве

client

свойство
client:Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Указывает объект, для которого вызываются методы ответного вызова. Объект по умолчанию: this (создаваемое локальное подключение). Если в свойстве client указать другой объект, методы обратного вызова будут вызываться на этом другом объекте.



Реализация
    public function get client():Object
    public function set client(value:Object):void

Выдает
TypeError — В качестве свойства client должен быть указан объект, имеющий значение, отличное от null.

domain

свойство 
domain:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Строка, представляющая домен расположения текущего файла.

В содержимом, выполняющемся в изолированной программной среде безопасности application в Adobe AIR (содержимое, установленное с приложением AIR), среда выполнения использует строку app#, за которой следует идентификатор приложения AIR (определенный в файле дескриптора приложения), вместо обозначения супердомена. Например, connectionName для приложения с идентификатором com.example.air.MyApp connectionName преобразуется в app#com.example.air.MyApp:connectionName.

В возвращенной строке SWF-файлов, опубликованных для проигрывателя Flash Player 9 или более поздних версий, в точности указывается домен файла, включая субдомены. Например, если файл размещен на сайте www.adobe.com, то данная команда возвращает значение www.adobe.com.

Если текущим файлом является локальный файл, размещенный на клиентском компьютере и выполняющийся в проигрывателе Flash Player, то данная команда возвращает значение localhost.

Самые распространенные способы применения этого свойства: включить имя домена отправляющего объекта LocalConnection в качестве параметра метода, который будет вызываться в принимающем объекте LocalConnection, или использовать его с LocalConnection.allowDomain() для принятия команд с указанного домена. Вполне возможно, что вам и не потребуется использовать данное свойство, если речь идет об установке взаимодействия только между объектами LocalConnection, которые размещены в одном домене.



Реализация
    public function get domain():String

Связанные элементы API

isPerUser

свойство 
isPerUser:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.0.32, AIR 1.5.2

Указывает, определен ли объект LocalConnection только для текущего пользователя (true) или глобально доступен для всех пользователей компьютера (false). Это свойство влияет на содержимое, выполняемое в ОС Mac OS X; другие платформы игнорируют этот параметр. Подключения в ОС Windows и операционных системах Linux всегда устанавливаются для одного пользователя.

В Flash Player 10.0.22 и более ранних версиях, а также в AIR 1.5.1 и более ранних версиях все объекты LocalConnection в ОС Mac OS X имеют глобальную область действия. Всегда устанавливайте этому свойству значение true, если не требуется обеспечить совместимость с более ранними версиями. В будущих версиях значение по умолчанию для данного свойства может измениться на true.

Значением по умолчанию является false.



Реализация
    public function get isPerUser():Boolean
    public function set isPerUser(value:Boolean):void

isSupported

свойство 
isSupported:Boolean  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Свойству isSupported задается значение true, если текущая платформа поддерживает класс LocalConnection, в противном случае задается значение false.



Реализация
    public static function get isSupported():Boolean
Сведения о конструкторе

LocalConnection

()Конструктор
public function LocalConnection()

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Создает объект LocalConnection. С помощью объектов LocalConnection можно обеспечить обмен данными между различными файлами, запущенными на одном и том же клиентском компьютере.

Связанные элементы API

Сведения о методе

allowDomain

()метод
public function allowDomain(... domains):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Задает один или несколько доменов, которые могут направлять вызовы LocalConnection к данному экземпляру LocalConnection.

Данный метод нельзя использовать в целях предоставления файлам, размещенным по незащищенным протоколам, доступа к файлам, размещенным с помощью защищенного протокола (HTTPS). Вместо этого используйте метод allowInsecureDomain().

Этот метод можно использовать для того, чтобы дочерний файл из другого домена мог осуществлять вызовы LocalConnection, направленные родительскому файлу, при этом не будет известен конечный домен, который будет источником дочернего файла. Это может случиться, например, при использовании перенаправлений для балансировки нагрузки или серверов независимых производителей. В этой ситуации можно с помощью свойства url, используемого с нагрузкой объекта LoaderInfo, получить домен для использования с методом allowDomain(). Например, рассмотрим ситуацию использования объекта Loader для загрузки дочернего файла. Как только файл будет загружен, можно будет просмотреть свойство contentLoaderInfo.url объекта Loader и извлечь домен из строки полного URL-адреса. При этом необходимо дождаться полной загрузки файла, так как свойство contentLoaderInfo.url будет иметь свое конечное правильное значение только после завершения загрузки файла.

Также может возникнуть и противоположная ситуация: создан дочерний файл, которому необходимо принимать вызовы LocalConnection от родительского файла, но домен родительского объекта неизвестен. В этой ситуации реализация данного метода подразумевает следующую проверку: совпадает ли аргумент домена с доменом свойства loaderInfo.url в загруженном файле. Здесь также необходимо извлечь домен из полного URL-адреса в свойстве loaderInfo.url. В этой ситуации нет необходимости ждать загрузки родительского файла — он уже будет загружен к тому времени, когда будет проходить загрузка дочернего файла.

При использовании данного метода необходимо продумать модель безопасности проигрывателя Flash Player. По умолчанию объект LocalConnection связан с изолированной программной средой создавшего его файла, при этом вызовы объектов LocalConnection между доменов запрещены, если только вы не вызываете метод LocalConnection.allowDomain() в принимающем файле. Однако в Adobe AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности application (содержимое, установленное с приложением AIR).

Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player Безопасность.

Примечание. Метод allowDomain() изменился по сравнению с тем, каким он был в ActionScript 1.0 и 2.0. В этих ранних версиях allowDomain представлял собой реализованный метод обратного вызова. В ActionScript 3.0 allowDomain() является встроенным методом вызываемого LocalConnection. После этого изменения allowDomain() функционирует практически так же, как и flash.system.Security.allowDomain().

Параметры

... domains — Одна или несколько строк, называющих домены, с которых необходимо разрешить вызовы LocalConnection. Данный параметр имеет два особых случая:
  • Чтобы разрешить вызовы со всех доменов, можно указать подстановочный знак «*».
  • Определение строки localhost обеспечивает вызовы данного файла от локально установленных файлов. В проигрыватель Flash Player 8 были внесены ограничения в сфере безопасности локальных файлов. По умолчанию SWF-файл, который выполняется в проигрывателе Flash Player и которому разрешен доступ к Интернету, не может иметь доступ к локальной файловой системе. В проигрывателе Flash Player, если вы определите localhost, данный SWF-файл будет доступен любому локальному SWF-файлу.


Выдает
ArgumentError — Все указанные параметры должны быть строками, имеющими значение, отличное от null.

Связанные элементы API

allowInsecureDomain

()метод 
public function allowInsecureDomain(... domains):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Задает один или несколько доменов, которые могут направлять вызовы LocalConnection к данному объекту LocalConnection.

Метод allowInsecureDomain() функционирует так же, как и allowDomain(), за исключением того, что метод allowInsecureDomain() дополнительно разрешает SWF-файлам, поступившим не по протоколу HTTPS, отправлять вызовы LocalConnection в адрес файлов, полученных по протоколу HTTPS. Это различие имеет значение только в том случае, если метод allowInsecureDomain() вызывается из файла, который был загружен по протоколу HTTPS. Метод allowInsecureDomain() следует вызывать даже в том случае, если происходит пересечение границ HTTPS/HTTPS в рамках одного домена. По умолчанию вызовы LocalConnection, направленные от файлов, поступивших не по протоколу HTTPS, к файлам, загруженным с помощью протокола HTTPS, всегда запрещены даже в рамках одного и того же домена.

Не рекомендуется вызывать метод allowInsecureDomain(), так как он может нарушить безопасность, обеспечиваемую протоколом HTTPS. При загрузке файла по протоколу HTTPS у вас должна присутствовать обоснованная уверенность в том, что в процессе доставки по сети на данный файл не будет оказываться никакого вредного воздействия. Если вы позднее разрешите файлу, поступившему не по протоколу HTTPS, делать вызовы LocalConnection в отношении файла, загруженного с помощью HTTPS, то тем самым вы будете принимать вызовы от файла, который мог в процессе доставки подвергнуться вмешательству. Это, как правило, требует особой осторожности, так как нельзя быть полностью уверенным в подлинности вызовов LocalConnection, поступающих вашему файлу по протоколу HTTPS.

По умолчанию файлы, размещенные с помощью протокола HTTPS, доступны только для любых других файлов, размещенных посредством того же протокола (HTTPS). Такая реализация позволяет сохранить целостность, обеспечиваемую протоколом HTTPS.

Не рекомендуется использовать этот метод для переназначения характеристик по умолчанию, так как это может ослабить систему защиты протокола HTTPS. Тем не менее, это может потребоваться, например, если вам необходимо разрешить HTTP-файлам, опубликованным для Flash Player 6 и более ранних версий, доступ к HTTPS-файлам, опубликованным для Flash Player 9 и более поздних версий.

Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player Безопасность.

Параметры

... domains — Одна или несколько строк, называющих домены, с которых необходимо разрешить вызовы LocalConnection. Для данного параметра существуют два особых случая:
  • Чтобы разрешить вызовы со всех доменов, можно указать подстановочный знак «*». Определение «*» не включает в себя локальные узлы.
  • Определение строки localhost обеспечивает вызовы данного SWF-файла от локально установленных SWF-файлов. В проигрыватель Flash Player 8 были внесены ограничения в сфере безопасности локальных SWF-файлов. SWF-файл, которому разрешен доступ к Интернету, не может иметь доступ к локальной файловой системе. Если вы определите localhost, данный SWF-файл будет доступен любому локальному SWF-файлу. Помните, что во время разработки вызывающий SWF-файл должен быть обозначен как локальный с сетевым подключением во время авторизации.


Выдает
ArgumentError — Все указанные параметры должны быть строками, имеющими значение, отличное от null.

Связанные элементы API

close

()метод 
public function close():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Закрывает (отключает) объект LocalConnection. Запустите данную команду, если больше не требуется, чтобы объект принимал команды, например при необходимости инициировать команду connect() с помощью того же самого параметра connectionName в другом SWF-файле.


Выдает
ArgumentError — Экземпляр LocalConnection не подключен, поэтому не может быть закрыт.

Связанные элементы API

connect

()метод 
public function connect(connectionName:String):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Подготавливает объект LocalConnection к получению команд, отправленных с помощью команды send() (от отправляющего объекта LocalConnection). Объект, используемый с методом connect() называется принимающим объектом LocalConnection. Принимающий и отправляющий объекты должны запускаться с одного и того же клиентского компьютера.

Чтобы избежать состязания, определите методы, прикрепленные к принимающему объекту LocalConnection, до вызова данного метода, как показано в примере с классом LocalConnection.

По умолчанию аргумент connectionName преобразуется в значение superdomain:connectionName, в котором superdomain — это супердомен файла, содержащего команду connect(). Например, если файл, содержащий принимающий объект LocalConnection, размещается по адресу www.someDomain.com, то connectionName преобразуется в someDomain.com:connectionName. (Если файл, выполняющийся в проигрывателе Flash Player, размещается на клиентском компьютере, то параметру superdomain присваивается значение localhost.)

В содержимом, выполняющемся в изолированной программной среде безопасности application в Adobe AIR (содержимое, установленное с приложением AIR), среда выполнения использует строку app#, за которой следует идентификатор приложения AIR (определенный в файле дескриптора приложения), вместо обозначения супердомена. Например, connectionName для приложения с идентификатором com.example.air.MyApp connectionName преобразуется в app#com.example.air.MyApp:connectionName.

Вдобавок, по умолчанию проигрыватель Flash Player позволяет принимающему объекту LocalConnection принимать команды только от отправляющих объектов LocalConnection, имя подключения которых также преобразовывается в значение "superdomain:connectionName". Таким образом файлам, размещенным в одном домене, становится проще взаимодействовать друг с другом.

Если вы реализуете механизм взаимодействия только между файлами в рамках одного домена, укажите строку для connectionName, которая не будет начинаться с символа подчеркивания (_) и не будет определять имя домена (например, myDomain:connectionName). Используйте ту же самую строку в методе connect(connectionName).

При реализации механизма взаимодействия файлов в разных доменах определение строки для параметра connectionName, в начале которой стоит символ подчеркивания (_), обеспечивает большую междоменную мобильность файла с принимающим объектом LocalConnection. Далее представлены два возможных варианта:

  • Если строка для connectionName не начинается с символа подчеркивания (_), добавляется префикс с супердоменом и двоеточием (например, myDomain:connectionName). Несмотря на то, что это гарантирует отсутствие конфликтов вашего подключения с подключениями под тем же именем, но из других доменов, любые отправляющие объекты LocalConnection должны указывать данный супердомен (например, myDomain:connectionName). Если файл с принимающим объектом LocalConnection перемещается в другой домен, то проигрыватель изменяет префикс, чтобы отразить наличие нового супердомена (например, anotherDomain:connectionName). Может потребоваться вручную отредактировать все отправляющие объекты LocalConnection так, чтобы они указывали на новый супердомен.
  • Если строка для connectionName начинается с символа подчеркивания (например, _connectionName), префикс к строке не добавляется. Это означает, что принимающий и отправляющий объекты LocalConnection используют идентичные строки для параметра connectionName. Если с помощью allowDomain() принимающий объект указывает, что будут приниматься подключения с любого домена, то файл с принимающим объектом LocalConnection может быть перемещен в другой домен без изменения каких-либо отправляющих объектов LocalConnection.

Дополнительные сведения см. в обзоре класса и обсуждении параметра connectionName в методеsend(), а также в материалах по allowDomain() и domain.

Примечание. Двоеточие используется как специальный символ для отделения супердомена от строки connectionName. Строка для параметра connectionName, содержащая двоеточие, является недопустимой.

При использовании данного метода необходимо продумать модель безопасности проигрывателя Flash Player. По умолчанию объект LocalConnection связан с изолированной программной средой создавшего его файла, при этом вызовы объектов LocalConnection между доменов запрещены, если только вы не вызываете метод LocalConnection.allowDomain() в принимающем файле. Можно запретить использование файлом этого метода путем установки параметра allowNetworking для тегов object и embed на странице HTML, содержащей SWF-содержимое. Однако в Adobe AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности application (содержимое, установленное с приложением AIR).

Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player Безопасность.

Параметры

connectionName:String — Строка, которая соответствует имени подключения, указанному в команде connect(), которой требуется взаимодействие с принимающим объектом LocalConnection.


Выдает
TypeError — Параметру connectionName следует передавать ненулевое значение.
 
ArgumentError — Данная ошибка может возникнуть по трем причинам: 1) Параметру connectionName было передано нулевое значение строки. Передайте ненулевое значение. 2) Значение, переданное параметру connectionName, содержало двоеточие (:). Двоеточие используется как специальный символ для отделения супердомена от строки connectionName в методе send(), а не в методе connect(). 3) Экземпляр LocalConnection уже подключен.

Связанные элементы API

send

()метод 
public function send(connectionName:String, methodName:String, ... arguments):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Вызывает метод с именем methodName для подключения, открытого методом connect (connectionName)принимающем объекте LocalConnection). Объект, используемый с методом send() называется отправляющим объектом LocalConnection. SWF-файлы, содержащие отправляющие и принимающие объекты, должны запускаться на одном и том же клиентском компьютере.

Объем данных, которые можно передать как параметры для этой команды, ограничен 40 килобайтами. Если при наличии правильного синтаксиса метод send() отображает ошибку ArgumentError, попробуйте разделить запросы send() на несколько команд (объем каждой не должен превышать 40 КБ).

Как уже было сказано в описании метода connect(), текущий супердомен добавляется к строке connectionName по умолчанию. При реализации механизма обмена данными между разными доменами необходимо определить параметр connectionName как в отправляющем, так и в принимающем объекте LocalConnection так, чтобы к строке connectionName не добавлялся текущий супердомен. Это можно выполнить одним из следующих способов:

  • Используйте символ подчеркивания (_) в начале параметра connectionName отправляющих и принимающих объектов LocalConnection. С помощью метода LocalConnection.allowDomain() укажите в файле, содержащем принимающий объект, что будут приниматься подключения с любого домена. Данная реализация позволяет хранить отправляющие и принимающие файлы в любом домене.
  • Добавьте супердомен в параметр connectionName в отправляющем объекте LocalConnection — например myDomain.com:myConnectionName. В принимающем объекте с помощью метода LocalConnection.allowDomain() укажите, что подключения из указанного супердомена будут приняты (в данном случае, myDomain.com) или что будут приняты подключения из любого домена.

Примечание. Не следует указывать супердомен в параметре connectionName принимающего объекта LocalConnection — это можно делать только в отправляющем объекте LocalConnection.

При использовании данного метода необходимо продумать модель безопасности проигрывателя Flash Player. По умолчанию объект LocalConnection связан с изолированной программной средой создавшего его файла, при этом вызовы объектов LocalConnection между доменов запрещены, если только вы не вызываете метод LocalConnection.allowDomain() в принимающем файле. В случае с SWF-содержимым, выполняющимся в обозревателе, можно запретить файлу использовать этот метод, задав параметр allowNetworking для тегов object и embed HTML-страницы с SWF-содержимым. Однако в Adobe AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности application (содержимое, установленное с приложением AIR).

Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player Безопасность.

Параметры

connectionName:String — Соответствует имени подключения, указанному в команде connect(), которой требуется взаимодействие с отправляющим объектом LocalConnection.
 
methodName:String — Имя метода, вызываемого в принимающем объекте LocalConnection. Следующие имена методов приводят к сбою команды: send, connect, close, allowDomain, allowInsecureDomain, client и domain.
 
... arguments — Дополнительные необязательные параметры, передаваемые указанному методу.


События
securityError:SecurityErrorEventLocalConnection.send() произвел попытку взаимодействия с SWF-файлом из защищенной изолированной среды, доступа к которой вызывающий код не имеет. Эту проблему можно решить в реализации LocalConnection.allowDomain() на принимающей стороне.
 
status:StatusEvent — Если значением свойства level является status, вызов успешно выполнен. Если значением является error, вызов не выполнен. Возможен сбой вызова, если принимающий SWF-файл отвергнет подключение.

Выдает
TypeError — Значение connectionName или methodName равно null. Установите для данных параметров значения, отличные от null.
 
ArgumentError — Данная ошибка может возникнуть по одной из следующих причин: 1) В качестве значения connectionName или methodName выступает пустая строка. Передайте для этих параметров допустимые строки. 2) Метод, указанный в параметре methodName, является ограниченным. 3) Слишком большой размер отправленного сериализованного сообщения (свыше 40 КБ).

Связанные элементы API

Сведения о событии

asyncError

Событие
Тип объекта события: flash.events.AsyncErrorEvent
свойство AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется, когда исключение создается асинхронным образом, то есть в коде, изначально имеющем асинхронную природу.

Константа AsyncErrorEvent.ASYNC_ERROR определяет значение свойства type объекта события asyncError.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetОбъект, отправляющий событие.
errorОшибка, запускаемая событием.

securityError

Событие  
Тип объекта события: flash.events.SecurityErrorEvent
свойство SecurityErrorEvent.type = flash.events.SecurityErrorEvent.SECURITY_ERROR

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется, если путем вызова метода LocalConnection.send() предпринимается попытка отправить данные в другую изолированную среду.

Константа SecurityErrorEvent.SECURITY_ERROR определяет значение свойства type для объекта события securityError.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetСетевой объект, сообщающий об ошибке безопасности.
textТекст, отображаемый в качестве сообщения об ошибке.

Связанные элементы API

status

Событие  
Тип объекта события: flash.events.StatusEvent
свойство StatusEvent.type = flash.events.StatusEvent.STATUS

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется, когда объект LocalConnection сообщает о своем состоянии. При успешном вызове LocalConnection.send() свойство level объекта события status получает значение status. В противном случае свойство level имеет значение error. Если принимающий файл отказывает в подключении, сбой вызова может произойти без оповещения отправляющего файла.

Задает значение свойства type для объекта события status.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
codeОписание состояния объекта.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
levelКатегория сообщения, например, status, warning или error.
targetОбъект, сообщающий свое состояние.

Связанные элементы API

LocalConnectionSenderExample.as

Данный пример состоит из двух классов ActionScript, которые должны быть скомпилированы в два отдельных SWF-файла:

В SWF-файле LocalConnectionSenderExample создается экземпляр LocalConnection. При нажатии на кнопку с помощью метода call() вызывается метод с именем lcHandler в SWF-файле с именем подключения myConnection, при этом в качестве параметра передается содержимое TextField.

В SWF-файле LocalConnectionReceiverExample создается экземпляр LocalConnection, а затем с помощью вызванного метода connect() данный SWF-файл определяется как получатель сообщений, адресованных подключению myConnection. Вдобавок, в данный класс входит публичный метод lcHandler(), который вызывается SWF-файлом LocalConnectionSenderExample. При вызове этого метода текст, переданный в качестве параметра, прикрепляется к полю TextField в компоненте Stage.

Примечание. Чтобы протестировать этот пример, необходимо одновременно загрузить на одном компьютере оба SWF-файла.

// 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 ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.