Guida di riferimento di ActionScript® 3.0 per la piattaforma Adobe® Flash®
Home  |  Nascondi elenco pacchetti e classi |  Pacchetti  |  Classi  |  Novità  |  Indice  |  Appendici  |  Perché in inglese?
Filtri: AIR 30.0 e versioni precedenti, Flash Player 30.0 e versioni precedenti, Flash Lite 4
Flex 4.6 e versioni precedenti, Flash Pro CS6 e versioni precedenti
Nascondi filtri
flash.net 

LocalConnection  - AS3

Pacchettix

Primo livello
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

Elementi del linguaggio

Costanti globali
Funzioni globali
Operatori
Istruzioni, parole chiave e direttive
Tipi speciali

Appendici

Novità
Errori del compilatore
Avvisi del compilatore
Errori runtime
Migrazione a ActionScript 3
Set di caratteri supportati
Tag solo di MXML
Elementi XML di Motion
Tag Timed Text
Elenco degli elementi obsoleti
Costanti di implementazione dell’accessibilità
Utilizzare gli esempi ActionScript
Note legali
Pacchettoflash.net
Classepublic class LocalConnection
EreditarietàLocalConnection Inheritance EventDispatcher Inheritance Object

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

La classe LocalConnection consente di creare un oggetto LocalConnection che è in grado di richiamare un metodo in un altro oggetto LocalConnection. La comunicazione può essere:
  • All'interno di un singolo file SWF
  • Tra più file SWF
  • Tra contenuti (basati su SWF o basati su HTML) nelle applicazioni AIR
  • Tra il contenuto (basato su SWF o basato su HTML) in un'applicazione AIR e il contenuto SWF in esecuzione in un browser

Supporto profili AIR: questa funzionalità è supportata in tutti i sistemi operativi desktop e in tutti i dispositivi AIR per TV, ma non nei dispositivi mobili. È possibile verificare se la funzionalità è supportata in fase runtime utilizzando la proprietà LocalConnection.isSupported. Per ulteriori informazioni sul supporto delle API tra più profili, vedete Supporto dei profili AIR.

Nota: i dispositivi AIR per TV supportano la comunicazione solo tra contenuti SWF nelle applicazioni AIR.

Le connessioni locali consentono questo tipo di comunicazione tra i file SWF senza ricorrere a fscommand() o JavaScript. Gli oggetti LocalConnection possono comunicare solo tra i file in esecuzione sullo stesso client, ma possono essere eseguiti in applicazioni diverse (ad esempio, un file in esecuzione in un browser e un file SWF in esecuzione in Adobe AIR).

Gli oggetti LocalConnection creati in ActionScript 3.0 sono in grado di comunicare con gli oggetti LocalConnection creati in ActionScript 1.0 o 2.0. Vale anche il contrario: gli oggetti LocalConnection creati in ActionScript 1.0 o 2.0 sono in grado di comunicare con gli oggetti LocalConnection creati in ActionScript 3.0. Flash Player gestisce in modo automatico questa comunicazione tra oggetti LocalConnection di versioni diverse.

Sono disponibili tre modi per aggiungere metodi di callback a un oggetto LocalConnection:

  • Creare una sottoclasse della classe LocalConnection e aggiungere dei metodi
  • Impostare la proprietà LocalConnection.client su un oggetto che implementi i metodi
  • Creare una classe dinamica per estendere LocalConnection e associare in modo dinamico i metodi

Per comprendere come utilizzare gli oggetti LocalConnection per implementare la comunicazione tra due file, è utile identificare i comandi utilizzati in ogni file. Un file viene definito ricevente ed è il file che contiene il metodo da richiamare. Il file ricevente deve contenere un oggetto LocalConnection e una chiamata al metodo connect(). L'altro file viene definito mittente ed è il file che richiama il metodo. Il file mittente deve contenere un altro oggetto LocalConnection e una chiamata al metodo send().

La scelta tra send() e connect() dipende dal fatto che i file si trovano nello stesso dominio, in domini diversi con nomi di dominio prevedibili o in domini diversi con nomi di dominio imprevedibili o dinamici. Nei paragrafi seguenti vengono illustrate le tre diverse situazioni, con esempi di codice.

Stesso dominio. Il modo più semplice per utilizzare un oggetto LocalConnection consiste nel consentire la comunicazione solo tra gli oggetti LocalConnection di uno stesso dominio, poiché per impostazione predefinita Flash Player consente la comunicazione nello stesso dominio. Quando due file dello stesso dominio comunicano, non è necessario implementare alcuna misura di sicurezza speciale ed è sufficiente passare lo stesso valore per il parametro connectionName sia del metodo connect() che del metodo send():

Caricamento dallo stesso dominio

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

Domini diversi con nomi di dominio prevedibili. Quando due file SWF di diversi domini comunicano, è necessario consentire la comunicazione tra i due domini chiamando il metodo allowDomain(). Inoltre, è necessario qualificare il nome della connessione nel metodo send() con il nome di dominio dell'oggetto LocalConnection ricevente:

Caricamento da diversi domini

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

Domini diversi con nomi di dominio imprevedibili. Talvolta, può essere necessario rendere il file con l'oggetto LocalConnection ricevente più portabile tra i domini. Per evitare di specificare il nome di dominio nel metodo send() e tuttavia indicare che gli oggetti LocalConnection ricevente e mittente non appartengono allo stesso dominio, anteponete al nome della connessione il carattere di sottolineatura (_) sia nella chiamata a connect() che nella chiamata a send(). Per consentire la comunicazione tra i due domini, chiamate il metodo allowDomain() e passate i domini da cui desiderate consentire le chiamate LocalConnection. In alternativa, passate il carattere jolly (*) come argomento per consentire le chiamate da tutti i domini:

Caricamento da dominio sconosciuto

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

Da Flash Player a un'applicazione AIR. Un oggetto LocalConnection creato nella sandbox dell'applicazione AIR utilizza una stringa speciale come prefisso di connessione anziché un nome di dominio. La stringa ha il formato app#appID.pubID (appID è l'ID applicazione e pubID è l'ID editore dell'applicazione). (Includete l'ID editore solo se l'applicazione AIR ne utilizza uno.) Ad esempio, se un'applicazione AIR ha l'ID applicazione "com.example" ed è sprovvista di ID editore, potreste usare la seguente stringa di connessione locale: app#com.example:myConnection. L'applicazione AIR deve chiamare anche il metodo allowDomain(), passando il dominio di origine del file SWF chiamante:

Connessione di Flash Player ad AIR

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

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

Nota: se un'applicazione AIR carica un file SWF fuori della sandbox dell'applicazione AIR, le regole per stabilire una connessione locale con quel file SWF sono uguali a quelle per stabilire una connessione con un file SWF eseguito in Flash Player.

Da un'applicazione AIR a Flash Player. Quando un'applicazione AIR comunica con un file SWF eseguito nel runtime di Flash Player, dovete consentire la comunicazione tra AIR e Flash Player chiamando il metodo allowDomain() e passando il prefisso di connessione dell'applicazione AIR. Ad esempio, se un'applicazione AIR ha l'ID applicazione "com.example" ed è sprovvista di ID editore, potreste passare la stringa app#com.example al metodo allowDomain(). Inoltre, è necessario qualificare il nome della connessione nel metodo send() con il nome di dominio dell'oggetto LocalConnection ricevente (utilizzate "localhost" come dominio per i file SWF caricati dal file system locale):

Comunicazione da AIR a 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');

Da un'applicazione AIR a un'altra applicazione AIR. Per consentire a due applicazioni AIR di comunicare, dovete consentire la comunicazione tra di esse chiamando il metodo allowDomain() e passando il prefisso di connessione dell'applicazione AIR inviante. Ad esempio, se l'applicazione inviante ha l'ID applicazione "com.example" ed è sprovvista di ID editore, potreste passare la stringa app#com.example al metodo allowDomain() nell'applicazione ricevente. Inoltre, è necessario qualificare il nome della connessione nel metodo send() con il prefisso di connessione dell'oggetto LocalConnection ricevente:

Comunicazione da AIR a 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');

È possibile utilizzare gli oggetti LocalConnection per inviare e ricevere dati in un solo file, ma non si tratta di un'implementazione tipica.

Per ulteriori informazioni sui metodi send() e connect(), vedete la descrizione del parametro connectionName nelle sezioni relative a LocalConnection.send() e LocalConnection.connect(). Vedete anche le sezioni relative a allowDomain() e domain.

Vedere gli esempi

Altri esempi

Elementi API correlati



Proprietà pubbliche
 ProprietàDefinito da
  client : Object
Indica l'oggetto su cui vengono chiamati i metodi di callback.
LocalConnection
 Inheritedconstructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  domain : String
[sola lettura] Una stringa che rappresenta il dominio della posizione del file corrente.
LocalConnection
  isPerUser : Boolean
Indica se l’oggetto LocalConnection è associato all’utente corrente (true) oppure è accessibile globalmente a tutti gli utenti del computer (false).
LocalConnection
  isSupported : Boolean
[statico] [sola lettura] La proprietà isSupported è impostata su true se la classe LocalConnection è supportata nella piattaforma corrente, altrimenti è impostata su false.
LocalConnection
Metodi pubblici
 MetodoDefinito da
  
Crea un oggetto LocalConnection.
LocalConnection
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
EventDispatcher
  
Specifica uno o più domini che possono inviare chiamate LocalConnection a questa istanza LocalConnection.
LocalConnection
  
Specifica uno o più domini che possono inviare chiamate LocalConnection a questo oggetto LocalConnection.
LocalConnection
  
Chiude (disconnette) un oggetto LocalConnection.
LocalConnection
  
connect(connectionName:String):void
Prepara un oggetto LocalConnection a ricevere i comandi inviati da un comando send() (dall'oggetto LocalConnection mittente).
LocalConnection
 Inherited
Invia un evento nel flusso di eventi.
EventDispatcher
 Inherited
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
EventDispatcher
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Rimuove un listener dall'oggetto EventDispatcher.
EventDispatcher
  
send(connectionName:String, methodName:String, ... arguments):void
Richiama il metodo denominato methodName su una connessione aperta con il metodo connect(connectionName) (nell'oggetto LocalConnection ricevente).
LocalConnection
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
 Inherited
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate.
Object
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
 Inherited
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
EventDispatcher
Eventi
 Evento Riepilogo Definito da
 Inherited[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR ottiene lo stato di attivazione del sistema operativo ed entra nello stato attivo.EventDispatcher
  Inviato quando viene generata un'eccezione in modo asincrono, cioè da un codice asincrono nativo.LocalConnection
 Inherited[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR perde l'attivazione del sistema operativo e sta entrando nello stato inattivo.EventDispatcher
  Inviato se una chiamata a LocalConnection.send() tenta di inviare dati a una funzione di sicurezza sandbox diversa.LocalConnection
  Inviato quando un oggetto LocalConnection segnala il proprio stato.LocalConnection
Descrizione delle proprietà

client

proprietà
client:Object

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Indica l'oggetto su cui vengono chiamati i metodi di callback. L'oggetto predefinito è this, l'oggetto locale che si sta creando. È possibile impostare la proprietà client su un altro oggetto, e i metodi di callback vengono richiamati su tale oggetto.



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

Genera
TypeError — La proprietà client deve essere impostata su un oggetto diverso da null.

Altri esempi

domain

proprietà 
domain:String  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Una stringa che rappresenta il dominio della posizione del file corrente.

Nel contenuto in esecuzione nella funzione di sicurezza sandbox dell'applicazione in Adobe AIR (contenuto installato nell'applicazione AIR), il runtime utilizza la stringa app# seguita dall'ID applicazione per l'applicazione AIR (definito nel file di descrizione dell'applicazione) al posto del superdominio. Ad esempio, un connectionName per un'applicazione con l'ID applicazione com.example.air.MyApp connectionName viene risolto in "app#com.example.air.MyApp:connectionName".

Nei file SWF pubblicati per Flash Player 9 o versioni successive, la stringa restituita è il dominio esatto del file, compresi i sottodomini. Ad esempio, se il file si trova all'indirizzo www.adobe.com, questo comando restituisce "www.adobe.com".

Se il file è un file locale che risiede sul computer client in esecuzione in Flash Player, questo comando restituisce "localhost".

L'uso più comune di questa proprietà consiste nell'includere il nome del dominio dell'oggetto LocalConnection mittente come parametro per il metodo che si prevede di richiamare nell'oggetto LocalConnection ricevente, oppure di utilizzarla con LocalConnection.allowDomain() per accettare i comandi provenienti da un dominio specificato. Se abilitate la comunicazione solo tra oggetti LocalConnection che si trovano nello stesso dominio, probabilmente non è necessario utilizzare questa proprietà.



Implementazione
    public function get domain():String

Elementi API correlati

isPerUser

proprietà 
isPerUser:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.0.32, AIR 1.5.2

Indica se l’oggetto LocalConnection è associato all’utente corrente (true) oppure è accessibile globalmente a tutti gli utenti del computer (false). Questa proprietà è applicabile solo al contenuto eseguito su Mac OS X; le altre piattaforme ignorano questo parametro. Le connessioni sui sistemi operativi Windows e Linux sono sempre configurate per utente.

In Flash Player 10.0.22 e versioni precedenti e in AIR 1.5.1 e versioni precedenti, tutti gli oggetti LocalConnection su Mac OS X hanno un ambito globale. Impostate sempre questa proprietà su true, a meno che dobbiate mantenere la compatibilità con versioni precedenti. Nelle versioni future, il valore predefinito di questa proprietà potrebbe essere cambiato in true.

Il valore predefinito è false.



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

isSupported

proprietà 
isSupported:Boolean  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

La proprietà isSupported è impostata su true se la classe LocalConnection è supportata nella piattaforma corrente, altrimenti è impostata su false.



Implementazione
    public static function get isSupported():Boolean
Descrizione della funzione di costruzione

LocalConnection

()Funzione di costruzione
public function LocalConnection()

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Crea un oggetto LocalConnection. È possibile utilizzare gli oggetti LocalConnection per abilitare la comunicazione tra file diversi che sono in esecuzione sullo stesso computer client.

Elementi API correlati

Descrizione dei metodi

allowDomain

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Specifica uno o più domini che possono inviare chiamate LocalConnection a questa istanza LocalConnection.

Non è possibile usare questo metodo per consentire ai file che risiedono sul dominio mediante protocolli non protetti di accedere ai file che risiedono sul dominio mediante un protocollo protetto (HTTPS); utilizzare invece il metodo allowInsecureDomain().

Utilizzate questo metodo per fare in modo che un file secondario proveniente da un dominio differente possa effettuare chiamate LocalConnection al file principale, senza conoscere il dominio finale dal quale proverrà il file secondario. Questa situazione può verificarsi ad esempio quando si utilizzano i reindirizzamenti per il bilanciamento del carico di lavoro o i server di terze parti. In tale situazione, utilizzate la proprietà url dell'oggetto LoaderInfo utilizzato per il caricamento per ottenere il dominio da usare con il metodo allowDomain(). Ad esempio, se usate un oggetto Loader per caricare un file secondario, una volta caricato il file, verificate la proprietà contentLoaderInfo.url dell'oggetto Loader ed estraete il dominio dalla stringa dell'URL. In tal caso, attendete che il file sia caricato, poiché il valore della proprietà contentLoaderInfo.url non è definitivo e corretto finché il file non è stato completamente caricato.

In realtà può verificarsi anche la situazione opposta: è possibile creare un file secondario impostato per accettare le chiamate LocalConnection dal proprio elemento principale ma di cui non conosce il dominio. In tal caso, implementate questo metodo verificando se l'argomento del dominio corrisponde al dominio della proprietà loaderInfo.url nel file Anche in questo caso è necessario analizzare il dominio fuori dell'URL completo contenuto in loaderInfo.url. In questo caso, non è necessario attendere il caricamento del file principale poiché sarà già stato completato al momento del caricamento dell'elemento secondario.

Quando utilizzate questo metodo, considerate il modello di sicurezza di Flash Player. Per impostazione predefinita, un oggetto LocalConnection è associato alla sandbox del file che l'ha creato e le chiamate su più domini agli oggetti LocalConnection non sono consentite, a meno che non sia stato chiamato il metodo LocalConnection.allowDomain() nel file ricevente. Tuttavia, in Adobe AIR, il contenuto della funzione di sicurezza sandbox dell'applicazione (contenuto installato con l'applicazione AIR) non è interessato da queste limitazioni di sicurezza.

Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player .

Nota: il metodo allowDomain() è stato modificato rispetto alla forma che aveva in ActionScript 1.0 e 2.0. Nelle versioni precedenti, allowDomain era un metodo di callback implementato dall'utente. In ActionScript 3.0, allowDomain() è un metodo incorporato di LocalConnection che viene chiamato. Grazie a questa modifica, allowDomain() funziona in modo molto simile a flash.system.Security.allowDomain().

Parametri

... domains — Una o più stringhe che assegnano i nomi ai domini da cui si desidera consentire le chiamate LocalConnection. Questo parametro prevede due eccezioni:
  • Potete specificare il carattere jolly "*" per consentire le chiamate da tutti i domini.
  • Potete specificare la stringa "localhost" per consentire le chiamate a questo file dai file che sono installati a livello locale. In Flash Player 8 sono state introdotte delle limitazioni di sicurezza per i file locali. Per impostazione predefinita, un file SWF in esecuzione in Flash Player che è autorizzato ad accedere a Internet non può avere accesso anche al file system locale. In Flash Player, se specificate "localhost", qualunque file SWF locale può accedere a questo file SWF.


Genera
ArgumentError — Tutti i parametri specificati devono essere stringhe diverse da null.

Altri esempi

Elementi API correlati

allowInsecureDomain

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Specifica uno o più domini che possono inviare chiamate LocalConnection a questo oggetto LocalConnection.

Il metodo allowInsecureDomain() funziona in modo simile al metodo allowDomain(), con l'eccezione che il metodo allowInsecureDomain() consente anche ai file con un'origine diversa da HTTPS di inviare chiamate LocalConnection ai file SWF da un'origine HTTPS. Questa differenza è significativa solo se chiamate il metodo allowInsecureDomain() da un file che è stato caricato tramite HTTPS. È necessario chiamare il metodo allowInsecureDomain() anche se si oltrepassa un confine tra non HTTPS e HTTPS all'interno di uno stesso dominio; per impostazione predefinita, non sono mai consentite chiamate LocalConnection da file non HTTPS a file HTTPS, anche all'interno dello stesso dominio.

Non è consigliabile effettuare chiamate a allowInsecureDomain(), poiché ciò può compromettere il livello di sicurezza offerto da HTTPS. Quando caricate un file tramite HTTPS, potete essere ragionevolmente sicuri dell'integrità del file durante la distribuzione in rete. Se successivamente autorizzate un file non HTTPS a effettuare chiamate LocalConnection al file HTTPS, accetterete chiamate da un file che potrebbe essere stato manomesso durante la distribuzione. Questa situazione richiede generalmente un livello aggiuntivo di vigilanza, poiché non è possibile considerare attendibile l'autenticità delle chiamate LocalConnection provenienti dal file HTTPS.

Per impostazione predefinita, i file che risiedono su domini che utilizzano il protocollo HTTPS sono accessibili solo da altri file che risiedono su domini che utilizzano il protocollo HTTPS. Questa implementazione conserva l'integrità fornita dal protocollo HTTPS.

Non è consigliabile utilizzare questo metodo per ignorare il comportamento predefinito, poiché la sicurezza HTTPS viene compromessa. Tuttavia, può essere necessario utilizzarlo per consentire l'accesso ai file SWF HTTPS pubblicati per Flash Player 9 o versioni successive da parte dei file SWF HTTP pubblicati per Flash Player 6 o precedente.

Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player .

Parametri

... domains — Una o più stringhe che assegnano i nomi ai domini da cui si desidera consentire le chiamate LocalConnection. Per questo parametro esistono due eccezioni:
  • È possibile specificare un carattere jolly "*" per consentire le chiamate da tutti i domini. Se specificate "*", non vengono inclusi gli host locali.
  • Potete specificare la stringa "localhost" per consentire le chiamate a questo file SWF dai file SWF che sono installati a livello locale. In Flash Player 8 sono state introdotte delle limitazioni di sicurezza per i file SWF locali. Un file SWF autorizzato ad accedere a Internet non può avere accesso anche al file system locale. Se specificate "localhost", qualunque file SWF locale può accedere a questo file SWF. È necessario anche designare il file SWF chiamante come file SWF locale con accesso di rete al momento della creazione.


Genera
ArgumentError — Tutti i parametri specificati devono essere stringhe diverse da null.

Altri esempi

Elementi API correlati

close

()metodo 
public function close():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Chiude (disconnette) un oggetto LocalConnection. Eseguite questo comando se non desiderate più che l'oggetto accetti i comandi: ad esempio, per eseguire un comando connect() che utilizza lo stesso parametro connectionName in un altro file SWF.


Genera
ArgumentError — L'istanza LocalConnection non è connessa, quindi non può essere chiusa.

Elementi API correlati

connect

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Prepara un oggetto LocalConnection a ricevere i comandi inviati da un comando send() (dall'oggetto LocalConnection mittente). L'oggetto utilizzato con il metodo connect()viene definito oggetto LocalConnection ricevente. Gli oggetti mittenti e riceventi devono essere in esecuzione sullo stesso computer client.

Per evitare una condizione race, definite i metodi associati all'oggetto LocalConnection ricevente prima di chiamare questo metodo, come mostrato nell'esempio della classe LocalConnection.

Per impostazione predefinita, l'argomento connectionName viene risolto nel valore "superdomain:connectionName", dove superdomain è il superdominio del file che contiene il comando connect(). Ad esempio, se il file che contiene l'oggetto LocalConnection ricevente si trova in www.someDomain.com, connectionName risolve a "someDomain.com:connectionName". Se un file in esecuzione in Flash Player si trova sul computer client, il valore assegnato a superdomain è "localhost".

Nel contenuto in esecuzione nella funzione di sicurezza sandbox dell'applicazione in Adobe AIR (contenuto installato nell'applicazione AIR), il runtime utilizza la stringa app# seguita dall'ID applicazione per l'applicazione AIR (definito nel file di descrizione dell'applicazione) al posto del superdominio. Ad esempio, un connectionName per un'applicazione con l'ID applicazione com.example.air.MyApp connectionName viene risolto in "app#com.example.air.MyApp:connectionName".

Sempre per impostazione predefinita, Flash Player consente all'oggetto LocalConnection ricevente di accettare comandi solo dagli oggetti LocalConnection mittenti per cui anche il nome di connessione viene risolto nel valore "superdomain:connectionName". In questo modo, Flash Player rende più semplice la comunicazione tra i file di uno stesso dominio.

Se implementate la comunicazione solo tra file dello stesso dominio, specificate una stringa per connectionName che non inizi con un carattere di sottolineatura (_) e che non specifichi un nome di dominio (ad esempio, "myDomain:connectionName"). Utilizzate la stessa stringa del metodo connect(connectionName).

Se implementate la comunicazione solo tra file di domini diversi e specificate una stringa per connectionName che inizia con un carattere di sottolineatura (_), rendete il file con l'oggetto LocalConnection ricevente più portabile tra i domini. Di seguito sono illustrati i due casi possibili:

  • Se la stringa per connectionName non inizia con un carattere di sottolineatura (_), viene aggiunto un prefisso composto dal superdominio e da un segno di due punti (ad esempio, "myDomain:connectionName"). Benché questo assicuri che la connessione non entri in conflitto con le connessioni con lo stesso nome di altri domini, tutti gli oggetti LocalConnection mittenti devono specificare questo superdominio (ad esempio, "myDomain:connectionName"). Se il file con l'oggetto LocalConnection ricevente viene spostato in un altro dominio, il lettore modifica il prefisso per rispecchiare il nuovo superdominio (ad esempio, "anotherDomain:connectionName"). Tutti gli oggetti LocalConnection mittenti devono quindi essere modificati manualmente in modo da puntare al nuovo superdominio.
  • Se la stringa per connectionName inizia con un segno di sottolineatura (ad esempio, "_connectionName"), alla stringa non viene aggiunto un prefisso. Questo significa che gli oggetti LocalConnection riceventi e mittenti utilizzano stringhe identiche per connectionName. Se l'oggetto ricevente utilizza allowDomain() per specificare che vengano accettate le connessioni da qualunque dominio, il file con l'oggetto LocalConnection ricevente può essere spostato in un altro dominio senza modificare alcun oggetto LocalConnection mittente.

Per ulteriori informazioni, vedete la discussione nella panoramica delle classi, la discussione su connectionName in send() e le sezioni relative a allowDomain() e domain.

Nota: il carattere di due punti viene utilizzato come carattere speciale per separare il superdominio dalla stringa connectionName. Se una stringa per connectionName contiene un punto e virgola, non è valida.

Quando utilizzate questo metodo, considerate il modello di sicurezza di Flash Player. Per impostazione predefinita, un oggetto LocalConnection è associato alla sandbox del file che l'ha creato e le chiamate su più domini agli oggetti LocalConnection non sono consentite, a meno che non sia stato chiamato il metodo LocalConnection.allowDomain() nel file ricevente. È possibile impedire che un file utilizzi questo metodo impostando il parametro allowNetworking dei tag object ed embed nella pagina HTML che include il contenuto SWF.Tuttavia, in Adobe AIR, il contenuto della funzione di sicurezza sandbox dell'applicazione (contenuto installato con l'applicazione AIR) non è interessato da queste limitazioni di sicurezza.

Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player .

Parametri

connectionName:String — Una stringa che corrisponde al nome di connessione specificato nel comando send() che desidera comunicare con l'oggetto LocalConnection ricevente.


Genera
TypeError — Il valore passato al parametro connectionName deve essere diverso da null.
 
ArgumentError — Questo errore può verificarsi per tre motivi: 1) Il valore di stringa passato al parametro connectionName era nullo. Passate un valore diverso da null. 2) Il valore passato al parametro connectionName conteneva un segno di due punti (:). Il segno di due punti viene utilizzato come carattere speciale per separare il superdominio dalla stringaconnectionName nel metodo send() non nel metodo connect(). 3) L'istanza LocalConnection è già connessa.

Altri esempi

Elementi API correlati

send

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Richiama il metodo denominato methodName su una connessione aperta con il metodo connect(connectionName) (nell'oggetto LocalConnection ricevente). L'oggetto utilizzato con il metodo send()viene definito oggetto LocalConnection mittente. I file SWF che contengono gli oggetti mittenti e riceventi devono essere in esecuzione sullo stesso computer client.

Esiste un limite di 40 kilobyte alla quantità di dati che è possibile passare come parametri a questo comando. Se send() restituisce ArgumentError ma la sintassi è corretta, provare a dividere le richieste send() in più comandi, ciascuno con meno di 40 KB di dati.

Come discusso nella voce relativa a connect(), il superdominio corrente viene aggiunto a connectionName per impostazione predefinita. Se implementate la comunicazione tra domini diversi, definite connectionName negli oggetti LocalConnection sia mittenti che riceventi in modo che a connectionName non venga aggiunto il superdominio corrente. È possibile ottenere questo risultato in uno dei due modi seguenti:

  • Utilizzate un carattere di sottolineatura (_) all'inizio di connectionName negli oggetti LocalConnection sia mittenti che riceventi. Nel file che contiene l'oggetto ricevente, utilizzate LocalConnection.allowDomain() per specificare che vengano accettate le connessioni da qualunque dominio. Questa implementazione consente di memorizzare i file mittenti e riceventi di qualunque dominio.
  • Includere il superdominio in connectionName nell'oggetto LocalConnection mittente: ad esempio, myDomain.com:myConnectionName. Nell'oggetto ricevente, utilizzate LocalConnection.allowDomain() per specificare che vengano accettate le connessioni provenienti dal superdominio specificato (in questo caso, myDomain.com) oppure quelle provenienti da qualsiasi dominio.

Nota: non è possibile specificare un superdominio in connectionName nell'oggetto LocalConnection ricevente; è possibile farlo solo nell'oggetto LocalConnection mittente.

Quando utilizzate questo metodo, considerate il modello di sicurezza di Flash Player. Per impostazione predefinita, un oggetto LocalConnection è associato alla sandbox del file che l'ha creato e le chiamate su più domini agli oggetti LocalConnection non sono consentite, a meno che non sia stato chiamato il metodo LocalConnection.allowDomain() nel file ricevente. Per il contenuto SWF in esecuzione nel browser, è possibile impedire a un file di utilizzare questo metodo impostando il parametro allowNetworking dei tag object ed embed nella pagina HTML in cui è presente il contenuto SWF. Tuttavia, in Adobe AIR, il contenuto della funzione di sicurezza sandbox dell'applicazione (contenuto installato con l'applicazione AIR) non è interessato da queste limitazioni di sicurezza.

Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player .

Parametri

connectionName:String — Corrisponde al nome di connessione specificato nel comando connect() che desidera comunicare con l'oggetto LocalConnection mittente.
 
methodName:String — Il nome del metodo da richiamare nell'oggetto LocalConnection ricevente. I seguenti nomi di metodo provocano un errore del comando: send, connect, close, allowDomain, allowInsecureDomain, client e domain.
 
... arguments — Gli altri argomenti opzionali da passare al metodo specificato.


Eventi
securityError:SecurityErrorEventLocalConnection.send() ha tentato di comunicare con un file SWF da una funzione di sicurezza sandbox a cui il codice chiamante non ha accesso. Questo inconveniente può essere risolto nell'implementazione di LocalConnection.allowDomain() del ricevente.
 
status:StatusEvent — Se il valore della proprietà level è "status", la chiamata è riuscita; se il valore è "error", la chiamata non è riuscita. La chiamata può non riuscire se il file SWF ricevente rifiuta la connessione.

Genera
TypeError — Il valore di connectionName o methodName è null. Passate dei valori diversi da null per questi parametri.
 
ArgumentError — Questo errore può verificarsi per uno dei seguenti motivi: 1) Il valore di connectionName o methodName è una stringa vuota. Passate delle stringhe valide per questi parametri. 2) Il metodo specificato in methodName è limitato. 3) Il messaggio serializzato che si sta inviando è troppo grande (superiore a 40 kilobyte).

Altri esempi

Elementi API correlati

Descrizione degli eventi

asyncError

Evento
Tipo di oggetto evento: flash.events.AsyncErrorEvent
proprietà AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Inviato quando viene generata un'eccezione in modo asincrono, cioè da un codice asincrono nativo.

La costante AsyncErrorEvent.ASYNC_ERROR definisce il valore della proprietà type di un oggetto evento asyncError.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto che invia l'evento.
errorL'errore che ha attivato l'evento.

securityError

Evento  
Tipo di oggetto evento: flash.events.SecurityErrorEvent
proprietà SecurityErrorEvent.type = flash.events.SecurityErrorEvent.SECURITY_ERROR

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Inviato se una chiamata a LocalConnection.send() tenta di inviare dati a una funzione di sicurezza sandbox diversa.

La costante SecurityErrorEvent.SECURITY_ERROR definisce il valore della proprietà type di un oggetto evento securityError.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto di rete che riporta l'errore di sicurezza.
textTesto da visualizzare come messaggio di errore.

Elementi API correlati

status

Evento  
Tipo di oggetto evento: flash.events.StatusEvent
proprietà StatusEvent.type = flash.events.StatusEvent.STATUS

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Inviato quando un oggetto LocalConnection segnala il proprio stato. Se LocalConnection.send() riesce, nell'oggetto evento status il valore della proprietà level è "status"; se la chiamata non riesce, la proprietà level è "error". Se il file ricevente rifiuta la connessione, la chiamata può fallire senza che venga emessa una notifica al file mittente.

Definisce il valore della proprietà type di un oggetto evento status.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
codeUna descrizione dello stato dell'oggetto.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
levelLa categoria del messaggio, ad esempio "status", "warning" o "error".
targetL'oggetto che riporta il proprio stato.

Elementi API correlati

LocalConnectionSenderExample.as

Questo esempio è costituito da due classi ActionScript che devono essere compilate in due file SWF separati:

Nel file SWF LocalConnectionSenderExample viene creata un'istanza LocalConnection e, quando si preme il pulsante, il metodo call() viene utilizzato per chiamare il metodo lcHandler nel file SWF con il nome di connessione "myConnection", passando il contenuto di TextField come parametro.

Nel file SWF LocalConnectionReceiverExample, viene creata un'istanza LocalConnection e viene chiamato il metodo connect() per designare questo file SWF come destinatario dei messaggi che sono indirizzati alla connessione di nome "myConnection". Inoltre, questa classe include un metodo pubblico di nome lcHandler(); questo metodo è quello che viene chiamato dal file SWF LocalConnectionSenderExample. Quando viene chiamato, il testo che viene passato come parametro viene aggiunto a TextField sullo stage.

Nota: per provare l'esempio, entrambi i file SWF devono essere caricati contemporaneamente sullo stesso computer.

// 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 ]Perché in inglese?
Il contenuto della Guida di riferimento di ActionScript 3.0 appare in inglese

Non tutte le parti della Guida di riferimento di ActionScript 3.0 sono tradotte in tutte le lingue. Quando un elemento del linguaggio non è tradotto, viene riportato in inglese. Ad esempio, la classe ga.controls.HelpBox non è tradotta in nessuna lingua. Pertanto, nella versione italiana della guida di riferimento, la descrizione della classe ga.controls.HelpBox è riportata in inglese.