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 

NetGroup  - 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 NetGroup
EreditarietàNetGroup Inheritance EventDispatcher Inheritance Object

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

Le istanze della classe NetGroup rappresentano l'appartenenza un gruppo RTMFP. Utilizzate questa classe per le seguenti operazioni:
  • Monitoraggio della qualità del servizio. La proprietà info contiene contiene un oggetto NetGroupInfo le cui proprietà forniscono statistiche QoS per questo gruppo.
  • Post. Chiamate post() per trasmettere messaggi ActionScript a tutti i membri di un gruppo.
  • Indirizzamento diretto. Chiamate sendToNearest(), sendToNeighbor() e sendToAllNeighbors() per inviare un breve messaggio di dati a un membro specifico di un gruppo peer-to-peer. L'origine e la destinazione non necessitano di una connessione diretta.
  • Replicazione di oggetti. Chiamate addHaveObjects(), removeHaveObjects(), addWantObjects(), removeWantObjects(), writeRequestedObject() e denyRequestedObject() per suddividere grandi quantità di dati in parti più piccole e replicarle su tutti i nodi in un gruppo peer-to-peer.

Nella classe NetGroup sul lato client, NetConnection invia gli eventi seguenti:

  • NetGroup.Connect.Success
  • NetGroup.Connect.Failed
  • NetGroup.Connect.Rejected

La proprietà info.group dell'oggetto evento contiene un riferimento all'origine dell'evento (NetGroup). Il NetGroup invia tutti gli altri eventi. Nella classe NetGroup sul lato server, il NetGroup invia tutti gli eventi:

Per informazioni sull’uso dei gruppi con la connettività peer-to-peer, vedete Social Media Experiences with Flash Media and RTMFP (Esperienze sui social media con Flash Media e RTMFP), sempre a cura di Tom Krcha.

Per informazioni sui dettagli tecnici della connettività peer-to-peer, vedete P2P on the Flash Platform with RTMFP (P2P sulla piattaforma Flash con RTMFP) a cura di Matthew Kaufman, scienziato informatico di Adobe.

Vedere gli esempi

Elementi API correlati



Proprietà pubbliche
 ProprietàDefinito da
 Inheritedconstructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  estimatedMemberCount : Number
[sola lettura] Specifica il numero previsto di membri del gruppo, in base alla densità dei vicini locali e presupponendo una distribuzione omogenea degli indirizzi di gruppo.
NetGroup
  info : NetGroupInfo
[sola lettura] Restituisce un oggetto NetGroupInfo le cui proprietà forniscono statistiche QoS (Quality of Service) relative al trasporto dati peer-to-peer RTMFP di questo NetGroup.
NetGroup
  localCoverageFrom : String
[sola lettura] Specifica l'inizio dell'intervallo di indirizzi di gruppo per il quale questo nodo è il "più vicino" e responsabile.
NetGroup
  localCoverageTo : String
[sola lettura] Specifica la fine dell'intervallo di indirizzi di gruppo per il quale questo nodo è il "più vicino" e responsabile.
NetGroup
  neighborCount : Number
[sola lettura] Specifica il numero di membri del gruppo al quale questo nodo è connesso direttamente.
NetGroup
  receiveMode : String
Specifica la modalità di ricezione dell'indirizzamento di questo nodo come uno dei valori nella classe di enumerazione NetGroupReceiveMode.
NetGroup
  replicationStrategy : String
Specifica la strategia di recupero della replicazione oggetti.
NetGroup
Metodi pubblici
 MetodoDefinito da
  
NetGroup(connection:NetConnection, groupspec:String)
Costruisce un oggetto NetGroup sull'oggetto NetConnection specificato e lo unisce al gruppo specificato da groupspec.
NetGroup
 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
  
addHaveObjects(startIndex:Number, endIndex:Number):void
Aggiunge gli oggetti da startIndex a endIndex alla serie di oggetti che questo nodo segnala ai vicini come oggetti per i quali eseguirà le richieste.
NetGroup
  
Aggiunge manualmente un record per specificare che peerID è un membro del gruppo.
NetGroup
  
Aggiunge manualmente un vicino, stabilendo immediatamente una connessione diretta all'oggetto peerID specificato, che deve già essere parte di questo gruppo.
NetGroup
  
addWantObjects(startIndex:Number, endIndex:Number):void
Aggiunge gli oggetti da startIndex a endIndex alla serie di oggetti da recuperare.
NetGroup
  
Interrompe la connessione con il gruppo e chiude questo NetGroup.
NetGroup
  
Converte un peerID in un indirizzo di gruppo adatto per essere utilizzato con il metodo sendToNearest().
NetGroup
  
Rifiuta la richiesta ricevuta in un evento NetStatusEvent NetGroup.Replication.Request relativamente a un oggetto precedentemente segnalato con il metodo addHaveObjects().
NetGroup
 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
  
post(message:Object):String
Invia un messaggio a tutti i vicini di un gruppo.
NetGroup
 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
  
removeHaveObjects(startIndex:Number, endIndex:Number):void
Rimuove gli oggetti da startIndex a endIndex dalla serie di oggetti che questo nodo segnala ai vicini come oggetti per i quali eseguirà le richieste.
NetGroup
  
removeWantObjects(startIndex:Number, endIndex:Number):void
Rimuove gli oggetti da startIndex a endIndex dalla serie di oggetti da recuperare.
NetGroup
  
Invia un messaggio a tutti i vicini.
NetGroup
  
sendToNearest(message:Object, groupAddress:String):String
Invia un messaggio al vicino (o nodo locale) più prossimo all'indirizzo di gruppo specificato.
NetGroup
  
sendToNeighbor(message:Object, sendMode:String):String
Invia un messaggio al vicino specificato dal parametro sendMode.
NetGroup
 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
  
writeRequestedObject(requestID:int, object:Object):void
Soddisfa la richiesta ricevuta da NetStatusEvent NetGroup.Replication.Request relativamente a un oggetto precedentemente segnalato con il metodo addHaveObjects().
NetGroup
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
 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 quando un oggetto NetGroup segnala il proprio stato o una condizione di errore.NetGroup
Descrizione delle proprietà

estimatedMemberCount

proprietà
estimatedMemberCount:Number  [sola lettura]

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

Specifica il numero previsto di membri del gruppo, in base alla densità dei vicini locali e presupponendo una distribuzione omogenea degli indirizzi di gruppo.



Implementazione
    public function get estimatedMemberCount():Number

Elementi API correlati

info

proprietà 
info:NetGroupInfo  [sola lettura]

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

Restituisce un oggetto NetGroupInfo le cui proprietà forniscono statistiche QoS (Quality of Service) relative al trasporto dati peer-to-peer RTMFP di questo NetGroup.



Implementazione
    public function get info():NetGroupInfo

Elementi API correlati

localCoverageFrom

proprietà 
localCoverageFrom:String  [sola lettura]

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

Specifica l'inizio dell'intervallo di indirizzi di gruppo per il quale questo nodo è il "più vicino" e responsabile. L'intervallo viene specificato nella direzione in aumento lungo l'anello di indirizzi del gruppo mod 2256.



Implementazione
    public function get localCoverageFrom():String

Elementi API correlati

localCoverageTo

proprietà 
localCoverageTo:String  [sola lettura]

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

Specifica la fine dell'intervallo di indirizzi di gruppo per il quale questo nodo è il "più vicino" e responsabile. L'intervallo viene specificato nella direzione in aumento lungo l'anello di indirizzi del gruppo mod 2256.



Implementazione
    public function get localCoverageTo():String

Elementi API correlati

neighborCount

proprietà 
neighborCount:Number  [sola lettura]

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

Specifica il numero di membri del gruppo al quale questo nodo è connesso direttamente.



Implementazione
    public function get neighborCount():Number

Elementi API correlati

receiveMode

proprietà 
receiveMode:String

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

Specifica la modalità di ricezione dell'indirizzamento di questo nodo come uno dei valori nella classe di enumerazione NetGroupReceiveMode.



Implementazione
    public function get receiveMode():String
    public function set receiveMode(value:String):void

Elementi API correlati

replicationStrategy

proprietà 
replicationStrategy:String

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

Specifica la strategia di recupero della replicazione oggetti. Il valore è uno di quelli enumerati nella classe NetGroupReplicationStrategy.



Implementazione
    public function get replicationStrategy():String
    public function set replicationStrategy(value:String):void

Elementi API correlati

Descrizione della funzione di costruzione

NetGroup

()Funzione di costruzione
public function NetGroup(connection:NetConnection, groupspec:String)

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

Costruisce un oggetto NetGroup sull'oggetto NetConnection specificato e lo unisce al gruppo specificato da groupspec.

Nella maggior parte dei casi, un oggetto groupspec è in grado di utilizzare il collegamento di rete in uscita sul sistema locale. Quando un oggetto NetStream o NetGroup viene costruito con un groupspec, Flash Player visualizza la finestra di dialogo Privacy. La finestra chiede se Flash Player può utilizzare la connessione per condividere i dati con i peer di un utente. Se l'utente fa clic su "Consenti per questo dominio", la finestra di dialogo non viene visualizzata la volta successiva che l'utente si connette a questa applicazione. Se un utente non consente la connettività peer-to-peer, tutte le funzioni peer all'interno del gruppo (posting, indirizzamento diretto, replicazione di oggetti, multicast) vengono disattivate. Se l'autorizzazione viene concessa, viene inviato un evento NetStatusEvent al listener di eventi di NetConnection con NetGroup.Connect.Success nella proprietà code dell'oggetto info. Se l'autorizzazione viene negata, la proprietà code restituisce NetGroup.Connect.Rejected. Finché non viene ricevuto un evento NetGroup.Connect.Success, se tentate di chiamare qualsiasi metodo dell'oggetto NetGroup verrà generata un'eccezione.

Nota: quando un client sottoscrive un flusso multicast con IP nativo, la finestra di dialogo di sicurezza non viene visualizzata.

Parametri
connection:NetConnection — Un oggetto NetConnection.
 
groupspec:String — Una stringa che specifica il gruppo peer-to-peer RTMFP da unire, inclusi il nome, le funzionalità, le restrizioni e le autorizzazioni di questo membro.
     new NetGroup(myConnection, myGroupSpecifier.groupspecWithAuthorizations());
     

Genera
ArgumentError — L'istanza NetConnection non è connessa.
 
Error — L'oggetto groupspec non è valido.

Elementi API correlati

Descrizione dei metodi

addHaveObjects

()metodo
public function addHaveObjects(startIndex:Number, endIndex:Number):void

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

Aggiunge gli oggetti da startIndex a endIndex alla serie di oggetti che questo nodo segnala ai vicini come oggetti per i quali eseguirà le richieste. Per impostazione predefinita, la serie Have è vuota. Gli indici devono essere numeri interi compresi tra 0 e 9007199254740992.

Per ulteriori informazioni sulla replicazione degli oggetti, vedete "Replicate an object within a group" (Replicare un oggetto all'interno di un gruppo) nel manuale Flash Media Server Developer’s Guide.

Questo metodo invia un evento NetStatusEvent al listener di eventi di NetGroup con "NetGroup.Replication.Request" nella proprietà code dell'oggetto info.

NOTA: eseguite una prova dell'evento NetGroup.Neighbor.Connect prima di chiamare questo metodo.

Parametri

startIndex:Number — L'inizio dell'intervallo di indici di oggetti da aggiungere alla serie Have.
 
endIndex:Number — La fine dell'intervallo di indici di oggetti da aggiungere alla serie Have.


Genera
RangeError — Un numero passato a questo metodo è minore di 0 o maggiore di 9007199254740992.

Elementi API correlati

addMemberHint

()metodo 
public function addMemberHint(peerID:String):Boolean

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

Aggiunge manualmente un record per specificare che peerID è un membro del gruppo. Una connessione immediata viene tentata solo se è necessaria per la topologia.

Parametri

peerID:String — L'oggetto peerID da aggiungere alla serie di potenziali vicini.

Restituisce
Boolean — TRUE in caso positivo, FALSE in caso negativo.

Elementi API correlati

addNeighbor

()metodo 
public function addNeighbor(peerID:String):Boolean

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

Aggiunge manualmente un vicino, stabilendo immediatamente una connessione diretta all'oggetto peerID specificato, che deve già essere parte di questo gruppo. Questa connessione diretta potrebbe essere rimossa in seguito, se non è necessaria per la topologia.

Parametri

peerID:String — L'oggetto peerID a cui connettersi immediatamente.

Restituisce
Boolean — TRUE in caso positivo, FALSE in caso negativo.

Elementi API correlati

addWantObjects

()metodo 
public function addWantObjects(startIndex:Number, endIndex:Number):void

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

Aggiunge gli oggetti da startIndex a endIndex alla serie di oggetti da recuperare. Gli indici devono essere numeri interi compresi tra 0 e 9007199254740992. Per impostazione predefinita, la serie Want è vuota.

Per ulteriori informazioni sulla replicazione degli oggetti, vedete "Replicate an object within a group" (Replicare un oggetto all'interno di un gruppo) nel manuale Flash Media Server Developer’s Guide.

Questo metodo invia un evento NetStatusEvent al listener di eventi di NetGroup con NetGroup.Replication.Fetch.SendNotify nella proprietà info.code. Questo evento è seguito da un evento NetGroup.Replication.Fetch.Failed o NetGroup.Replication.Fetch.Result.

NOTA: eseguite una prova dell'evento NetGroup.Neighbor.Connect prima di chiamare questo metodo.

Parametri

startIndex:Number — L'inizio dell'intervallo di indici di oggetti da aggiungere alla serie Want.
 
endIndex:Number — La fine dell'intervallo di indici di oggetti da aggiungere alla serie Want.


Genera
RangeError — Un numero passato a questo metodo è minore di 0 o maggiore di 9007199254740992.

Elementi API correlati

close

()metodo 
public function close():void

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

Interrompe la connessione con il gruppo e chiude questo NetGroup. Questo NetGroup non è utilizzabile dopo la chiamata a questo metodo.

convertPeerIDToGroupAddress

()metodo 
public function convertPeerIDToGroupAddress(peerID:String):String

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

Converte un peerID in un indirizzo di gruppo adatto per essere utilizzato con il metodo sendToNearest().

Parametri

peerID:String — Il peerID da convertire.

Restituisce
String — L'indirizzo del gruppo per questo peerID.

Elementi API correlati

denyRequestedObject

()metodo 
public function denyRequestedObject(requestID:int):void

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

Rifiuta la richiesta ricevuta in un evento NetStatusEvent NetGroup.Replication.Request relativamente a un oggetto precedentemente segnalato con addHaveObjects(). Il richiedente può richiedere questo oggetto di nuovo o finché non viene ritirato dalla serie Have.

Per ulteriori informazioni sulla replicazione degli oggetti, vedete "Replicate an object within a group" (Replicare un oggetto all'interno di un gruppo) nel manuale Flash Media Server Developer’s Guide.

NOTA: eseguite una prova dell'evento NetGroup.Neighbor.Connect prima di chiamare questo metodo.

Parametri

requestID:int — L'identificativo della richiesta indicato nell'evento NetGroup.Replication.Request.

Elementi API correlati

post

()metodo 
public function post(message:Object):String

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

Invia un messaggio a tutti i vicini di un gruppo. Per chiamare questo metodo, la proprietà GroupSpecifier.postingEnabled deve essere true nel groupspec passato alla funzione di costruzione NetGroup. Per ulteriori informazioni, vedete "Post messages to a group" (Inviare messaggi a un gruppo) nel manuale Flash Media Server Developer’s Guide.

Tutti i messaggi devono essere univoci. Un messaggio identico a un altro inviato in precedenza potrebbe non essere propagato. Utilizzate un numero di sequenza per rendere univoci i messaggi.

La consegna dei messaggi non è ordinata. La consegna dei messaggi non è garantita.

I messaggi sono serializzati in AMF. Il messaggio può essere di uno dei seguenti tipi: Object, int, Number o String. Non può invece essere un oggetto MovieClip.

Questo metodo invia un evento NetStatusEvent al listener di eventi di NetGroup con "NetGroup.Posting.SendNotify" nella proprietà info.code. L'evento "NetGroup.Posting.Notify" viene inviato al NetGroup sia sul client che sul server.

NOTA: eseguite una prova dell'evento NetGroup.Neighbor.Connect prima di chiamare questo metodo.

Parametri

message:Object — Il messaggio da inviare a tutti gli altri membri del gruppo.

Restituisce
String — L'oggetto messageID del messaggio se inviato oppure null in caso di errore. messageID è il valore esadecimale di SHA256 dei byte originari della serializzazione del messaggio.

Elementi API correlati


Esempio  ( Come utilizzare questo esempio )

Questa è una semplice applicazione chat che utilizza la connettività di rete peer-to-peer. L'applicazione si connette tramite RTMFP a Flash Media Server. Il server memorizza le impronte digitali delle applicazioni client e gestisce il gruppo peer durante le connessioni dei client. Tuttavia, tutti i dati vengono scambiati tra i client (peer) e non restituiti al server.

Quando eseguite l'applicazione, potete immettere qualunque nome di gruppo nel campo di testo di input. La classe GroupSpecifier usa il nome (insieme alle eventuali proprietà GroupSpecifier che avete impostato) per creare una stringa che diventa il nome univoco e definitivo del gruppo. Per connettere un altro client al gruppo, tale client deve utilizzare lo stesso nome di gruppo. Ad esempio, se il client A utilizza il nome gruppo "firstmesh", gli altri client che intendono comunicare con il client A dovranno a loro volta utilizzare il nome gruppo "firstmesh". Se il client B usa invece il nome gruppo "kite", la connessione verrà stabilita correttamente, ma verrà creato un nuovo nome gruppo e il client B non sarà in grado di comunicare con il client A o con altri membri del gruppo "firstmesh".

Per eseguire questo esempio, aggiungete i componenti Button, Label, TextInput e TextArea alla libreria in Flash Professional.



package  {

    import flash.display.Sprite;
    import flash.events.TextEvent;
    import flash.events.MouseEvent;
    import flash.events.NetStatusEvent;
    import fl.events.ComponentEvent;
    import fl.controls.Label;
    import fl.controls.Button;
    import fl.controls.TextInput;
    import fl.controls.TextArea;
    import flash.text.TextFieldAutoSize;
    import flash.net.*;

    public class NetGroupPostExample extends Sprite{

        private var connectButton:Button;
        private var disconnectButton:Button;
        private var groupNameText:TextInput;
        private var userNameText:TextInput;
        private var chatText:TextInput;
        private var statusLog:TextArea;
        private var groupLabel:Label;
        private var userLabel:Label;

        private var netConnection:NetConnection = null;
        private var netGroup:NetGroup = null;
        private var sequenceNumber:uint = 0;
        private var connected:Boolean = false;
        private var joinedGroup:Boolean = false;

        private const SERVER:String = "rtmfp://fms.example.com/someapp";

        public function NetGroupPostExample() {
            DoUI();
        }

        // Writes messages to the TextArea.
        private function StatusMessage(msg:Object):void{
            statusLog.text += msg;
            statusLog.verticalScrollPosition = statusLog.textHeight;
            statusLog.validateNow();
        }

        // Handles all NetStatusEvents for the NetConnection and the NetGroup.
        // This code includes cases it doesn't handle so you can see the cases
        // and their info objects for learning purposes.
        private function NetStatusHandler(e:NetStatusEvent):void{
            StatusMessage(e.info.code + "\n");
            switch(e.info.code){
                case "NetConnection.Connect.Success":
                    connectButton.enabled = false;
                    disconnectButton.enabled = true;
                    OnConnect();
                    break;

                case "NetConnection.Connect.Closed":
                    OnDisconnect();
                    break;

                case "NetGroup.Connect.Success": // e.info.group
                    OnNetGroupConnect();
                    break;

                case "NetGroup.Connect.Rejected": // e.info.group
                case "NetGroup.Connect.Failed": // e.info.group
                    break;

                case "NetGroup.Posting.Notify": // e.info.message, e.info.messageID
                    OnPosting(e.info.message);
                    break;

                case "NetStream.MulticastStream.Reset":
                case "NetStream.Buffer.Full":
                    break;

                case "NetGroup.SendTo.Notify": // e.info.message, e.info.from, e.info.fromLocal
                case "NetGroup.LocalCoverage.Notify": //
                case "NetGroup.Neighbor.Connect": // e.info.neighbor
                case "NetGroup.Neighbor.Disconnect": // e.info.neighbor
                case "NetGroup.MulticastStream.PublishNotify": // e.info.name
                case "NetGroup.MulticastStream.UnpublishNotify": // e.info.name
                case "NetGroup.Replication.Fetch.SendNotify": // e.info.index
                case "NetGroup.Replication.Fetch.Failed": // e.info.index
                case "NetGroup.Replication.Fetch.Result": // e.info.index, e.info.object
                case "NetGroup.Replication.Request": // e.info.index, e.info.requestID
                default:
                    break;
                }
            }
        // Creates a NetConnection to Flash Media Server if the app isn't already connected
        // and if there's a group name in the TextInput field.
        private function DoConnect(e:MouseEvent):void{
            if(!connected && (groupNameText.length > 0)){
                StatusMessage("Connecting to \"" + SERVER + "\" ...\n");
                netConnection = new NetConnection();
                netConnection.addEventListener(NetStatusEvent.NET_STATUS, NetStatusHandler);
                // To connect to Flash Media Server, pass the server name.
                netConnection.connect(SERVER);
            }
            else
            {
                StatusMessage("Enter a group name");
            }
        }

        // Called in the "NetConnection.Connect.Success" case in the NetStatusEvent handler.
        private function OnConnect():void{

            StatusMessage("Connected\n");
            connected = true;

            // Create a GroupSpecifier object to pass to the NetGroup constructor.
            // The GroupSpecifier determines the properties of the group
            var groupSpecifier:GroupSpecifier;
            groupSpecifier = new GroupSpecifier("aslrexample/" + groupNameText.text);
            groupSpecifier.postingEnabled = true;
            groupSpecifier.serverChannelEnabled = true;

            netGroup = new NetGroup(netConnection, groupSpecifier.groupspecWithAuthorizations());
            netGroup.addEventListener(NetStatusEvent.NET_STATUS, NetStatusHandler);

            StatusMessage("Join \"" + groupSpecifier.groupspecWithAuthorizations() + "\"\n");

        }

        private function OnNetGroupConnect():void{
            joinedGroup = true;
        }

        private function DoDisconnect(e:MouseEvent):void{
            if(netConnection){
                netConnection.close();
            }
        }

        private function OnDisconnect():void{
            StatusMessage("Disconnected\n");
            netConnection = null;
            netGroup = null;
            connected = false;
            joinedGroup = false;
            connectButton.enabled = true;
            disconnectButton.enabled = false;
        }

        private function ClearChatText():void{
            chatText.text = "";
        }

        // Called when you the chatText field has focus and you press Enter.
        private function DoPost(e:ComponentEvent):void{
            if(joinedGroup){
                var message:Object = new Object;
                message.user = userNameText.text;
                message.text = chatText.text;
                message.sequence = sequenceNumber++;
                message.sender = netConnection.nearID;

                netGroup.post(message);
                StatusMessage("==> " + chatText.text + "\n");
            } else {
                StatusMessage("Click Connect before sending a chat message");
            }
            ClearChatText();
        }

        private function OnPosting(message:Object):void{
            StatusMessage("<" + message.user + "> " + message.text + "\n");
        }

        private function DoUI():void {

            groupLabel = new Label();
            groupLabel.move(20, 10);
            groupLabel.autoSize = TextFieldAutoSize.LEFT
            groupLabel.text = "Group name:"
            addChild(groupLabel);

            groupNameText = new TextInput();
            groupNameText.move(90, 10);
            groupNameText.text = "channel" + (int(Math.random() * 899) + 101);
            addChild(groupNameText);

            connectButton = new Button();
            connectButton.addEventListener(MouseEvent.CLICK, DoConnect);
            connectButton.move(205, 10);
            connectButton.label = "Connect";
            addChild(connectButton);

            disconnectButton = new Button();
            disconnectButton.addEventListener(MouseEvent.CLICK, DoDisconnect);
            disconnectButton.move(310, 10);
            disconnectButton.label = "Disconnect";
            disconnectButton.enabled = false;
            addChild(disconnectButton);

            statusLog = new TextArea();
            statusLog.move(30, 38);
            statusLog.width = 360;
            statusLog.height = 215;
            statusLog.editable = false;
            addChild(statusLog);

            userLabel = new Label();
            userLabel.move(20, 270);
            userLabel.autoSize = TextFieldAutoSize.LEFT
            userLabel.text = "User name:"
            addChild(userLabel);

            userNameText = new TextInput();
            userNameText.move(80, 270);
            userNameText.text = "user " + int(Math.random() * 65536);
            addChild(userNameText);

            chatText = new TextInput();
            chatText.addEventListener(ComponentEvent.ENTER, DoPost);
            chatText.move(185, 270);
            chatText.maxChars = 255;
            chatText.width = 215;
            addChild(chatText);

        }

        public function onPlayStatus(info:Object):void {}
        public function onMetaData(info:Object):void {}
        public function onCuePoint(info:Object):void {}
        public function onTextData(info:Object):void {}

    }

}




removeHaveObjects

()metodo 
public function removeHaveObjects(startIndex:Number, endIndex:Number):void

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

Rimuove gli oggetti da startIndex a endIndex dalla serie di oggetti che questo nodo segnala ai vicini come oggetti per i quali eseguirà le richieste. Gli indici devono essere numeri interi compresi tra 0 e 9007199254740992.

Per ulteriori informazioni sulla replicazione degli oggetti, vedete "Replicate an object within a group" (Replicare un oggetto all'interno di un gruppo) nel manuale Flash Media Server Developer’s Guide.

NOTA: eseguite una prova dell'evento NetGroup.Neighbor.Connect prima di chiamare questo metodo.

Parametri

startIndex:Number — L'inizio dell'intervallo di indici di oggetti da rimuovere dalla serie Have.
 
endIndex:Number — La fine dell'intervallo di indici di oggetti da rimuovere dalla serie Have.


Genera
RangeError — Un numero passato a questo metodo è minore di 0 o maggiore di 9007199254740992.

Elementi API correlati

removeWantObjects

()metodo 
public function removeWantObjects(startIndex:Number, endIndex:Number):void

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

Rimuove gli oggetti da startIndex a endIndex dalla serie di oggetti da recuperare. Gli indici devono essere numeri interi compresi tra 0 e 9007199254740992.

Per ulteriori informazioni sulla replicazione degli oggetti, vedete "Replicate an object within a group" (Replicare un oggetto all'interno di un gruppo) nel manuale Flash Media Server Developer’s Guide.

NOTA: eseguite una prova dell'evento NetGroup.Neighbor.Connect prima di chiamare questo metodo.

Parametri

startIndex:Number — L'inizio dell'intervallo di indici di oggetti da rimuovere dalla serie Want.
 
endIndex:Number — La fine dell'intervallo di indici di oggetti da rimuovere dalla serie Want.


Genera
RangeError — Un numero passato a questo metodo è minore di 0 o maggiore di 9007199254740992.

Elementi API correlati

sendToAllNeighbors

()metodo 
public function sendToAllNeighbors(message:Object):String

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

Invia un messaggio a tutti i vicini. Restituisce NetGroupSendResult.SENT se è stato selezionato almeno un vicino.

Per ulteriori informazioni sull'instradamento dei messaggi, vedete "Route messages directly to a peer" (Instradare messaggi direttamente a un peer) nel manuale Flash Media Server Developer’s Guide.

Quando un nodo riceve un messaggio, viene inviato un evento NetStatusEvent al listener di eventi di NetGroup con NetGroup.SendTo.Notify nella proprietà code dell'oggetto info.

NOTA: eseguite una prova dell'evento NetGroup.Neighbor.Connect prima di chiamare questo metodo.

Parametri

message:Object — Il messaggio da inviare.

Restituisce
String — Una proprietà della classe di enumerazione NetGroupSendResult che indica il risultato positivo o negativo dell'invio.

Elementi API correlati

sendToNearest

()metodo 
public function sendToNearest(message:Object, groupAddress:String):String

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

Invia un messaggio al vicino (o nodo locale) più prossimo all'indirizzo di gruppo specificato. Considera i vicini dall'intero anello. Restituisce NetGroupSendResult.SENT se il messaggio è stato inviato correttamente alla destinazione.

Per ulteriori informazioni sull'instradamento dei messaggi, vedete "Route messages directly to a peer" (Instradare messaggi direttamente a un peer) nel manuale Flash Media Server Developer’s Guide.

Quando un nodo riceve un messaggio, viene inviato un evento NetStatusEvent al listener di eventi di NetGroup con NetGroup.SendTo.Notify nella proprietà code dell'oggetto info.

NOTA: eseguite una prova dell'evento NetGroup.Neighbor.Connect prima di chiamare questo metodo.

Parametri

message:Object — Il messaggio da inviare.
 
groupAddress:String — L'indirizzo del gruppo verso il quale indirizzare il messaggio.

Restituisce
String — Una proprietà della classe di enumerazione NetGroupSendResult che indica il risultato positivo o negativo dell'invio.

Elementi API correlati

sendToNeighbor

()metodo 
public function sendToNeighbor(message:Object, sendMode:String):String

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

Invia un messaggio al vicino specificato dal parametro sendMode. Restituisce NetGroupSendResult.SENT se il messaggio è stato inviato correttamente alla destinazione richiesta.

Per ulteriori informazioni sull'instradamento dei messaggi, vedete "Route messages directly to a peer" (Instradare messaggi direttamente a un peer) nel manuale Flash Media Server Developer’s Guide.

Quando un nodo riceve un messaggio, viene inviato un evento NetStatusEvent al listener di eventi di NetGroup con NetGroup.SendTo.Notify nella proprietà code dell'oggetto info.

NOTA: eseguite una prova dell'evento NetGroup.Neighbor.Connect prima di chiamare questo metodo.

Parametri

message:Object — Il messaggio da inviare.
 
sendMode:String — Una proprietà della classe di enumerazione NetGroupSendMode che specifica il vicino a cui inviare il messaggio.

Restituisce
String — Una proprietà della classe di enumerazione NetGroupSendResult che indica il risultato positivo o negativo dell'invio.

Elementi API correlati

writeRequestedObject

()metodo 
public function writeRequestedObject(requestID:int, object:Object):void

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

Soddisfa la richiesta ricevuta da NetStatusEvent NetGroup.Replication.Request relativamente a un oggetto precedentemente segnalato con il metodo addHaveObjects(). L'oggetto può essere di uno dei seguenti tipi: Object, int, Number o String. Non può invece essere un oggetto MovieClip.

Per ulteriori informazioni sulla replicazione degli oggetti, vedete "Replicate an object within a group" (Replicare un oggetto all'interno di un gruppo) nel manuale Flash Media Server Developer’s Guide.

NOTA: eseguite una prova dell'evento NetGroup.Neighbor.Connect prima di chiamare questo metodo.

Parametri

requestID:int — L'identificativo della richiesta indicato nell'evento NetGroup.Replication.Request.
 
object:Object — L'oggetto corrispondente all'indice indicato indicato nell'evento NetGroup.Replication.Request.

Elementi API correlati

Descrizione degli eventi

netStatus

Evento
Tipo di oggetto evento: flash.events.NetStatusEvent
proprietà NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

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

Inviato quando un oggetto NetGroup segnala il proprio stato o una condizione di errore. L'evento netStatus contiene una proprietà info. La proprietà info è un oggetto che contiene informazioni sull'evento, ad esempio se un tentativo di connessione è riuscito o fallito.

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

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.
infoUn oggetto con proprietà che ne descrivono lo stato o la condizione di errore.
targetL'oggetto NetConnection o NetStream che ne riporta lo stato.

Elementi API correlati

NetGroupExample.as

Questa è una semplice applicazione chat video che utilizza la connettività di rete peer-to-peer. L'applicazione si connette tramite RTMFP a Flash Media Server. Il server memorizza le impronte digitali delle applicazioni client e gestisce il gruppo peer durante le connessioni dei client. Tuttavia, tutti i dati vengono scambiati tra i client (peer) e non restituiti al server.

Quando eseguite l'applicazione, potete immettere qualunque nome di gruppo nel campo di testo di input. La classe GroupSpecifier usa il nome (insieme alle eventuali proprietà GroupSpecifier che avete impostato) per creare una stringa che diventa il nome univoco e definitivo del gruppo. Per connettere un altro client al gruppo, tale client deve utilizzare lo stesso nome di gruppo. Ad esempio, se il client A utilizza il nome gruppo "firstmesh", gli altri client che intendono comunicare con il client A dovranno a loro volta utilizzare il nome gruppo "firstmesh". Se il client B usa invece il nome gruppo "kite", la connessione verrà stabilita correttamente, ma verrà creato un nuovo nome gruppo e il client B non sarà in grado di comunicare con il client A o con altri membri del gruppo "firstmesh".


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" applicationComplete="OnApplicationComplete()">
    <mx:Script>
        <![CDATA[
            private var netConnection:NetConnection = null;
            private var netStream:NetStream = null;
            private var netGroup:NetGroup = null;
            private var video:Video = null;
            private var sequenceNumber:uint = 0;
            private var resizeTimer:Timer = null;

            private const SERVER:String = "rtmfp://fms.example.com/someapp";

            [Bindable] private var connected:Boolean = false;
            [Bindable] private var joinedGroup:Boolean = false;

            private function OnApplicationComplete():void
            {
                userName.text = "user " + int(Math.random() * 65536);

                groupName.text = "channel" + (int(Math.random() * 899) + 101);

                resizeTimer = new Timer(2000.0);
                resizeTimer.addEventListener(TimerEvent.TIMER, DoResizeVideo);
                resizeTimer.start();
            }

            private function StatusMessage(msg:Object):void
            {
                statusLog.text += msg;
                statusLog.verticalScrollPosition = statusLog.textHeight;
                statusLog.validateNow();
            }

            private function NetStatusHandler(e:NetStatusEvent):void
            {
                StatusMessage(e.info.code);
                switch(e.info.code)
                {
                case "NetConnection.Connect.Success":
                    OnConnect();
                    break;

                case "NetConnection.Connect.Closed":
                case "NetConnection.Connect.Failed":
                case "NetConnection.Connect.Rejected":
                case "NetConnection.Connect.AppShutdown":
                case "NetConnection.Connect.InvalidApp":
                    OnDisconnect();
                    break;

                case "NetStream.Connect.Success": // e.info.stream
                    OnNetStreamConnect();
                    break;

                case "NetStream.Connect.Rejected": // e.info.stream
                case "NetStream.Connect.Failed": // e.info.stream
                    DoDisconnect();
                    break;

                case "NetGroup.Connect.Success": // e.info.group
                    OnNetGroupConnect();
                    break;

                case "NetGroup.Connect.Rejected": // e.info.group
                case "NetGroup.Connect.Failed": // e.info.group
                    DoDisconnect();
                    break;

                case "NetGroup.Posting.Notify": // e.info.message, e.info.messageID
                    OnPosting(e.info.message);
                    break;


                case "NetStream.MulticastStream.Reset":
                case "NetStream.Buffer.Full":
                    DoResizeVideo();
                    break;

                case "NetGroup.SendTo.Notify": // e.info.message, e.info.from, e.info.fromLocal
                case "NetGroup.LocalCoverage.Notify": //
                case "NetGroup.Neighbor.Connect": // e.info.neighbor
                case "NetGroup.Neighbor.Disconnect": // e.info.neighbor
                case "NetGroup.MulticastStream.PublishNotify": // e.info.name
                case "NetGroup.MulticastStream.UnpublishNotify": // e.info.name
                case "NetGroup.Replication.Fetch.SendNotify": // e.info.index
                case "NetGroup.Replication.Fetch.Failed": // e.info.index
                case "NetGroup.Replication.Fetch.Result": // e.info.index, e.info.object
                case "NetGroup.Replication.Request": // e.info.index, e.info.requestID
                default:
                    break;
                }
            }

            private function DoConnect():void
            {
                StatusMessage("Connecting to \"" + SERVER + "\" ...\n");
                netConnection = new NetConnection();
                netConnection.addEventListener(NetStatusEvent.NET_STATUS, NetStatusHandler);
                netConnection.connect(SERVER);
            }

            private function OnConnect():void
            {
                var groupSpecifier:GroupSpecifier;

                StatusMessage("Connected\n");
                connected = true;

                groupSpecifier = new GroupSpecifier("max2009lab/" + groupName.text);
                groupSpecifier.multicastEnabled = true;
                groupSpecifier.postingEnabled = true;
                groupSpecifier.serverChannelEnabled = true;

                netStream = new NetStream(netConnection, groupSpecifier.groupspecWithAuthorizations());
                netStream.addEventListener(NetStatusEvent.NET_STATUS, NetStatusHandler);

                netGroup = new NetGroup(netConnection, groupSpecifier.groupspecWithAuthorizations());
                netGroup.addEventListener(NetStatusEvent.NET_STATUS, NetStatusHandler);

                StatusMessage("Join \"" + groupSpecifier.groupspecWithAuthorizations() + "\"\n");
            }

            private function OnNetStreamConnect():void
            {
                netStream.client = this;

                var mic:Microphone = Microphone.getMicrophone();
                if(mic)
                {
                    mic.codec = SoundCodec.SPEEX;
                    mic.setSilenceLevel(0);

                    netStream.attachAudio(mic);

                    StatusMessage("got microphone\n");
                }

                var camera:Camera = Camera.getCamera();
                if(camera)
                {
                    camera.setMode(320, 240, 10);
                    camera.setQuality(30000, 0);
                    camera.setKeyFrameInterval(15);

                    videoDisplay.attachCamera(camera);
                    videoDisplay.maintainAspectRatio = true;

                    netStream.attachCamera(camera);

                    StatusMessage("got camera\n");
                }

                netStream.publish("stream");
            }

            private function OnNetGroupConnect():void
            {
                joinedGroup = true;
            }

            private function DoDisconnect():void
            {
                if(netConnection)
                    netConnection.close();
                videoDisplay.attachCamera(null);
            }

            private function OnDisconnect():void
            {
                StatusMessage("Disconnected\n");
                netConnection = null;
                netStream = null;
                netGroup = null;
                connected = false;
                joinedGroup = false;
            }

            private function ClearChatText():void
            {
                chatText.text = "";
            }

            private function DoPost():void
            {
                var message:Object = new Object;

                message.user = userName.text;
                message.text = chatText.text;
                message.sequence = sequenceNumber++;
                message.sender = netConnection.nearID;

                netGroup.post(message);

                StatusMessage("==> " + chatText.text + "\n");

                chatText.callLater(ClearChatText);
            }

            private function OnPosting(message:Object):void
            {
                StatusMessage("<" + message.user + "> " + message.text + "\n");
            }

            private function DoResizeVideo(ignored:* = null):void
            {
                if(video)
                {
                    if( (0 == video.videoHeight)
                     || (0 == video.videoWidth)
                    )
                    {
                        video.height = videoDisplay.height;
                        video.width = videoDisplay.width;
                        video.x = 0;
                        video.y = 0;
                    }
                    else
                    {
                        var videoAspect:Number = Number(video.videoWidth) / Number(video.videoHeight);
                        var displayAspect:Number = Number(videoDisplay.width) / Number(videoDisplay.height);
                        var adjustFactor:Number;

                        if(videoAspect >= displayAspect) // video is wider than display
                        {
                            adjustFactor = Number(video.videoWidth) / Number(videoDisplay.width);
                            video.width = videoDisplay.width;
                            video.height = int(Number(video.videoHeight) / adjustFactor);
                            video.x = 0;
                            video.y = int((videoDisplay.height - video.height) / 2);
                        }
                        else
                        {
                            adjustFactor = Number(video.videoHeight) / Number(videoDisplay.height);
                            video.height = videoDisplay.height;
                            video.width = int(Number(video.videoWidth) / adjustFactor);
                            video.x = int((videoDisplay.width - video.width) / 2);
                            video.y = 0;
                        }
                    }
                }
            }

            public function onPlayStatus(info:Object):void {}
            public function onMetaData(info:Object):void {}
            public function onCuePoint(info:Object):void {}
            public function onTextData(info:Object):void {}

            public function ValidateConnectAllowed(isConnected:Boolean, groupNameText:String):Boolean
            {
                return (!isConnected) && (groupNameText.length > 0);
            }
        ]]>
    </mx:Script>

    <mx:VBox top="10" right="10" left="10" bottom="10" verticalGap="6">
        <mx:HBox width="100%">
            <mx:Text text="Group:"/>
            <mx:TextInput id="groupName" width="100%" text="default" enabled="{!connected}"/>
            <mx:Button label="Connect" click="DoConnect()" enabled="{ValidateConnectAllowed(connected, groupName.text)}" />
            <mx:Button label="Disconnect" click="DoDisconnect()" enabled="{connected}" />
        </mx:HBox>
        <mx:VideoDisplay id="videoDisplay" width="320" height="240" resize="DoResizeVideo()"/>
        <mx:TextArea id="statusLog" width="100%" height="100%"/>
        <mx:HBox width="100%">
            <mx:TextInput id="userName" width="160" />
            <mx:TextInput id="chatText" width="100%" enabled="{joinedGroup}" enter="DoPost()"/>
        </mx:HBox>
    </mx:VBox>

</mx:Application>




[ 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.