Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : AIR 30.0 et versions antérieures, Flash Player 30.0 et versions antérieures, Flash Lite 4
Flex 4.6 et versions antérieures, Flash Pro CS6 et versions antérieures
Masquer les filtres
flash.net 

NetGroup  - AS3

Packagesx

Niveau supérieur
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

Eléments du langage

Constantes globales
Fonctions globales
Opérateurs
Instructions, mots clés et directives
Types spéciaux

Annexes

Nouveautés
Erreurs de compilation
Avertissements du compilateur
Erreurs d’exécution
Migration vers ActionScript 3
Jeux de caractères pris en charge
Balises MXML uniquement
Eléments XML de mouvement
Balises Timed Text
Liste des éléments déconseillés
Constantes d’implémentation d’accessibilité
Utilisation des exemples de code ActionScript
Informations juridiques
Packageflash.net
Classepublic class NetGroup
HéritageNetGroup Inheritance EventDispatcher Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Les occurrences de la classe NetGroup représentent l’appartenance à un groupe RTMFP. Utilisez cette classe pour effectuer les opérations suivantes :
  • Contrôle de la qualité du service. La propriété info contient un objet NetGroupInfo dont les propriétés fournissent des statistiques de qualité de service pour ce groupe.
  • Publication. Appelez post() pour diffuser des messages ActionScript à tous les membres d’un groupe.
  • Routage direct. Appelez sendToNearest(), sendToNeighbor() et sendToAllNeighbors() pour envoyer un court message de données à un membre spécifique d’un groupe homologue à homologue. Il n’est pas nécessaire que la source et la destination aient une connexion directe.
  • Réplication d’objets. Appelez addHaveObjects(), removeHaveObjects(), addWantObjects(), removeWantObjects(), writeRequestedObject() et denyRequestedObject() pour diviser les données volumineuses en plusieurs fragments et les reproduire dans tous les nœuds d’un groupe homologue à homologue.

Dans la classe NetGroup côté client, l’objet NetConnection distribue les événements suivants :

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

La propriété info.group de l’objet d’événement contient une référence à l’événement source (l’objet NetGroup). L’objet NetGroup distribue tous les autres événements. Dans la classe NetGroup côté serveur, l’objet NetGroup distribue tous les événements.

Pour plus d’informations sur l’utilisation de groupes avec la mise en réseau coopérative, voir le didacticiel Social Media Experiences with Flash Media and RTMFP, également par Tom Krcha (disponible en anglais uniquement).

Pour plus d’informations sur les détails techniques de la mise en réseau coopérative, voir le didacticiel P2P on the Flash Platform with RTMFP publié par l’informaticien d’Adobe, Matthieu Kaufman (disponible en anglais uniquement).

Consulter les exemples

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  estimatedMemberCount : Number
[lecture seule] Indique le nombre approximatif de membres du groupe, en fonction de la densité du voisinage et d’une distribution uniforme des adresses de groupe.
NetGroup
  info : NetGroupInfo
[lecture seule] Renvoie un objet NetGroupInfo dont les propriétés fournissent des statistiques de qualité de service (QoS) liées à la transmission de données RTMFP homologue à homologue de cet objet NetGroup.
NetGroup
  localCoverageFrom : String
[lecture seule] Spécifie le début de la plage d’adresses de groupe pour laquelle ce nœud est « le plus proche » et dont il est responsable.
NetGroup
  localCoverageTo : String
[lecture seule] Spécifie la fin de la plage d’adresses de groupe pour laquelle ce nœud est « le plus proche » et dont il est responsable.
NetGroup
  neighborCount : Number
[lecture seule] Indique le nombre de membres du groupe auxquels ce nœud est directement connecté.
NetGroup
  receiveMode : String
Spécifie le mode de réception de routage de ce nœud comme étant l’une des valeurs de la classe d’énumération NetGroupReceiveMode.
NetGroup
  replicationStrategy : String
Spécifie la stratégie d’extraction de la réplication d’objets.
NetGroup
Méthodes publiques
 MéthodeDéfini par
  
NetGroup(connection:NetConnection, groupspec:String)
Construit un objet NetGroup sur l’objet NetConnection spécifié et le joint au groupe spécifié par le groupspec.
NetGroup
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
  
addHaveObjects(startIndex:Number, endIndex:Number):void
Ajoute des objets depuis startIndex jusqu’à endIndex au jeu d’objets qui répondent aux demandes, comme l’indique ce nœud aux voisins.
NetGroup
  
Ajoute manuellement un enregistrement indiquant que peerID est un membre du groupe.
NetGroup
  
Ajoute manuellement un voisin en le connectant immédiatement au peerID spécifié, qui doit déjà se trouver dans ce groupe.
NetGroup
  
addWantObjects(startIndex:Number, endIndex:Number):void
Ajoute des objets depuis startIndex jusqu’à endIndex au jeu d’objets à extraire.
NetGroup
  
Se déconnecte du groupe et ferme cet objet NetGroup.
NetGroup
  
Convertit un ID homologue en une adresse de groupe pouvant être utilisée avec la méthode sendToNearest().
NetGroup
  
Refuse une demande reçue dans l’événement NetGroup.Replication.Request d’un NetStatusEvent pour un objet précédemment annoncé avec addHaveObjects().
NetGroup
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
  
post(message:Object):String
Envoie un message à tous les membres d’un groupe.
NetGroup
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
  
removeHaveObjects(startIndex:Number, endIndex:Number):void
Supprime des objets depuis startIndex jusqu’à endIndex du jeu d’objets qui répondent aux demandes, comme l’indique ce nœud aux voisins.
NetGroup
  
removeWantObjects(startIndex:Number, endIndex:Number):void
Supprime des objets depuis startIndex jusqu’à endIndex du jeu d’objets à extraire.
NetGroup
  
Envoie un message à tous les voisins.
NetGroup
  
sendToNearest(message:Object, groupAddress:String):String
Envoie un message au voisin (ou au nœud local) le plus proche de l’adresse de groupe spécifiée.
NetGroup
  
sendToNeighbor(message:Object, sendMode:String):String
Envoie un message au voisin spécifié par le paramètre sendMode.
NetGroup
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
  
writeRequestedObject(requestID:int, object:Object):void
Répond à la requête dès qu’elle est reçue par NetStatusEvent NetGroup.Replication.Request pour un objet précédemment annoncé via la méthode addHaveObjects().
NetGroup
Evénements
 Evénement Synthèse Défini par
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active.EventDispatcher
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive.EventDispatcher
  Distribué lorsqu’un objet NetGroup publie son état ou signale une erreur.NetGroup
Détails de la propriété

estimatedMemberCount

propriété
estimatedMemberCount:Number  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Indique le nombre approximatif de membres du groupe, en fonction de la densité du voisinage et d’une distribution uniforme des adresses de groupe.



Implémentation
    public function get estimatedMemberCount():Number

Eléments de l’API associés

info

propriété 
info:NetGroupInfo  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Renvoie un objet NetGroupInfo dont les propriétés fournissent des statistiques de qualité de service (QoS) liées à la transmission de données RTMFP homologue à homologue de cet objet NetGroup.



Implémentation
    public function get info():NetGroupInfo

Eléments de l’API associés

localCoverageFrom

propriété 
localCoverageFrom:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Spécifie le début de la plage d’adresses de groupe pour laquelle ce nœud est « le plus proche » et dont il est responsable. La plage est spécifiée dans le sens ascendant le long de l’anneau d’adresses de groupe mod 2256.



Implémentation
    public function get localCoverageFrom():String

Eléments de l’API associés

localCoverageTo

propriété 
localCoverageTo:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Spécifie la fin de la plage d’adresses de groupe pour laquelle ce nœud est « le plus proche » et dont il est responsable. La plage est spécifiée dans le sens ascendant le long de l’anneau d’adresses de groupe mod 2256.



Implémentation
    public function get localCoverageTo():String

Eléments de l’API associés

neighborCount

propriété 
neighborCount:Number  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Indique le nombre de membres du groupe auxquels ce nœud est directement connecté.



Implémentation
    public function get neighborCount():Number

Eléments de l’API associés

receiveMode

propriété 
receiveMode:String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Spécifie le mode de réception de routage de ce nœud comme étant l’une des valeurs de la classe d’énumération NetGroupReceiveMode.



Implémentation
    public function get receiveMode():String
    public function set receiveMode(value:String):void

Eléments de l’API associés

replicationStrategy

propriété 
replicationStrategy:String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Spécifie la stratégie d’extraction de la réplication d’objets. La valeur est l’une des valeurs énumérées dans la classe NetGroupReplicationStrategy.



Implémentation
    public function get replicationStrategy():String
    public function set replicationStrategy(value:String):void

Eléments de l’API associés

Détails du constructeur

NetGroup

()Constructeur
public function NetGroup(connection:NetConnection, groupspec:String)

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Construit un objet NetGroup sur l’objet NetConnection spécifié et le joint au groupe spécifié par le groupspec.

Dans la plupart des cas, un groupspec peut utiliser la liaison montante du réseau sur le système local. Lorsqu’un objet NetStream ou NetGroup est construit avec un groupspec, Flash Player affiche une boîte de dialogue Confidentialité. Cette boîte de dialogue vous demande si Flash Player peut utiliser la connexion en vue de partager les données avec les homologues d’un utilisateur. Si l’utilisateur clique sur « Autoriser ce domaine », la boîte de dialogue n’apparaît pas la prochaine fois que l’utilisateur se connecte à cette application. Si un utilisateur n’autorise pas la mise en réseau coopérative, toutes les fonctions d’homologue dans le groupe (publication, routage direct, réplication d’objets et multidiffusion) sont désactivées. Si l’autorisation est accordée, un événement NetStatusEvent est envoyé à l’écouteur d’événement de NetConnection avec NetGroup.Connect.Success dans la propriété code de l’objet info. Si l’autorisation est refusée, la propriété code est définie sur NetGroup.Connect.Rejected. Tant qu’un événement NetGroup.Connect.Success n’est pas reçu, une exception est renvoyée si vous tentez d’appeler une méthode de l’objet NetGroup.

Remarque : lorsqu’un client s’abonne au flux en multidiffusion d’une adresse IP native, la boîte de dialogue de sécurité n’est pas affichée.

Paramètres
connection:NetConnection — Objet NetConnection.
 
groupspec:String — Chaîne spécifiant le groupe RTMFP homologue à homologue auquel se joindre, y compris son nom, ses fonctionnalités et ses restrictions, ainsi que les autorisations de ce membre.
     new NetGroup(myConnection, myGroupSpecifier.groupspecWithAuthorizations());
     

Valeur émise
ArgumentError — L’occurrence de NetConnection n’est pas connectée.
 
Error — Le spécificateur de groupe n’est pas valide.

Eléments de l’API associés

Détails de la méthode

addHaveObjects

()méthode
public function addHaveObjects(startIndex:Number, endIndex:Number):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Ajoute des objets depuis startIndex jusqu’à endIndex au jeu d’objets qui répondent aux demandes, comme l’indique ce nœud aux voisins. Par défaut, le jeu Have est vide. Les index doivent être des nombres entiers compris entre 0 et 9 007 199 254 740 992.

Pour plus d’informations sur la réplication d’objets, voir la section "Replicate an object within a group" du guide Flash Media Server Developer’s Guide.

Cette méthode envoie un événement NetStatusEvent à l’écouteur d’événement de NetGroup avec "NetGroup.Replication.Request" dans la propriété code de l’objet info.

REMARQUE : testez l’événement NetGroup.Neighbor.Connect avant d’appeler cette méthode.

Paramètres

startIndex:Number — Début de la plage d’index de l’objet à ajouter au jeu Have.
 
endIndex:Number — Fin de la plage d’index de l’objet à ajouter au jeu Have.


Valeur émise
RangeError — Un nombre transmis à cette méthode est inférieur à 0 ou supérieur à 9007199254740992.

Eléments de l’API associés

addMemberHint

()méthode 
public function addMemberHint(peerID:String):Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Ajoute manuellement un enregistrement indiquant que peerID est un membre du groupe. Une tentative de connexion immédiate est effectuée uniquement si la topologie le requiert.

Paramètres

peerID:String — ID homologue à ajouter au jeu de voisins potentiels.

Valeur renvoyée
Boolean — TRUE pour une réussite, FALSE pour un échec.

Eléments de l’API associés

addNeighbor

()méthode 
public function addNeighbor(peerID:String):Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Ajoute manuellement un voisin en le connectant immédiatement au peerID spécifié, qui doit déjà se trouver dans ce groupe. Cette connexion directe peut être abandonnée ultérieurement si la topologie n’en a pas besoin.

Paramètres

peerID:String — L’ID homologue auquel se connecter immédiatement.

Valeur renvoyée
Boolean — TRUE pour une réussite, FALSE pour un échec.

Eléments de l’API associés

addWantObjects

()méthode 
public function addWantObjects(startIndex:Number, endIndex:Number):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Ajoute des objets depuis startIndex jusqu’à endIndex au jeu d’objets à extraire. Les index doivent être des nombres entiers compris entre 0 et 9 007 199 254 740 992. Par défaut, le jeu Want est vide.

Pour plus d’informations sur la réplication d’objets, voir la section "Replicate an object within a group" du guide Flash Media Server Developer’s Guide.

Cette méthode envoie un événement NetStatusEvent à l’écouteur d’événement de NetGroup avec NetGroup.Replication.Fetch.SendNotify dans la propriété info.code. Cet événement est suivi d’un événement NetGroup.Replication.Fetch.Failed ou NetGroup.Replication.Fetch.Result.

REMARQUE : testez l’événement NetGroup.Neighbor.Connect avant d’appeler cette méthode.

Paramètres

startIndex:Number — Début de la plage d’index d’objets à ajouter au jeu Want.
 
endIndex:Number — Fin de la plage d’index d’objets à ajouter au jeu Want.


Valeur émise
RangeError — Un nombre transmis à cette méthode est inférieur à 0 ou supérieur à 9007199254740992.

Eléments de l’API associés

close

()méthode 
public function close():void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Se déconnecte du groupe et ferme cet objet NetGroup. Il est impossible d’utiliser cet objet NetGroup après l’appel de cette méthode.

convertPeerIDToGroupAddress

()méthode 
public function convertPeerIDToGroupAddress(peerID:String):String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Convertit un ID homologue en une adresse de groupe pouvant être utilisée avec la méthode sendToNearest().

Paramètres

peerID:String — ID homologue à convertir.

Valeur renvoyée
String — Adresse de groupe pour l’ID homologue.

Eléments de l’API associés

denyRequestedObject

()méthode 
public function denyRequestedObject(requestID:int):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Refuse une demande reçue dans l’événement NetGroup.Replication.Request d’un NetStatusEvent pour un objet précédemment annoncé avec addHaveObjects(). Le demandant peut solliciter à nouveau cet objet à moins (ou jusqu’à ce) qu’il ne soit retiré du jeu Have.

Pour plus d’informations sur la réplication d’objets, voir la section "Replicate an object within a group" du guide Flash Media Server Developer’s Guide.

REMARQUE : testez l’événement NetGroup.Neighbor.Connect avant d’appeler cette méthode.

Paramètres

requestID:int — Identifiant de la demande, tel qu’indiqué dans l’événement NetGroup.Replication.Request.

Eléments de l’API associés

post

()méthode 
public function post(message:Object):String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Envoie un message à tous les membres d’un groupe. Pour appeler cette méthode, la propriété GroupSpecifier.postingEnabled doit être définie sur true dans le groupspec transmis au constructeur de NetGroup. Pour plus d’informations, voir la section "Post messages to a group" du guide Flash Media Server Developer’s Guide.

Tous les messages doivent être uniques. Il est impossible de transmettre un message identique à l’un des messages envoyés précédemment. Utilisez un numéro de séquence pour rendre les messages uniques.

La remise des messages n’est pas préconisée. La remise des messages n’est pas garantie.

Les messages sont sérialisés au format AMF. Le message peut être de l’un des types suivants : Object, int, Number ou String. Le message ne peut pas être un objet MovieClip.

Cette méthode envoie un événement NetStatusEvent à l’écouteur d’événement de NetGroup avec "NetGroup.Posting.Notify" dans la propriété info.code. L’événement "NetGroup.Posting.Notify" est distribué à l’objet NetGroup sur le client et sur le serveur.

REMARQUE : testez l’événement NetGroup.Neighbor.Connect avant d’appeler cette méthode.

Paramètres

message:Object — Message à envoyer à tous les autres membres du groupe.

Valeur renvoyée
String — L’ID de message correspondant au message, s’il est publié, ou null en cas d’erreur. L’ID de message est le code hexadécimal de l’algorithme SHA256 d’octets bruts de la sérialisation du message.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

Il s’agit d’une application de dialogue en ligne simple qui utilise la mise en réseau homologue à homologue. L’application se connecte à Flash Media Server via RTMFP. Le serveur conserve les empreintes des applications clientes et gère le groupe d’homologues lors de la connexion des clients. Cependant, toutes les données sont envoyées entre les clients (homologues), elles ne sont pas renvoyées au serveur.

Lorsque vous exécutez l’application, vous pouvez indiquer n’importe quel nom de groupe dans le champ de saisie de texte. La classe GroupSpecifier utilise le nom (ainsi que toutes les propriétés que vous avez définies) pour créer une chaîne qui est le nom toujours unique du groupe. Pour connecter un autre client au groupe, ce client doit utiliser le même nom de groupe. Par exemple, si le client A utilise le nom de groupe « firstmesh », les autres clients qui souhaitent communiquer avec le client A doivent également utiliser le nom de groupe « firstmesh ». Si le client B utilise le nom de groupe « kite », il parviendra à se connecter, mais il créera un nouveau groupe et ne sera pas en mesure de communiquer avec le client A ou les membres du groupe « firstmesh ».

Pour exécuter cet exemple, ajoutez un composant Button, Label, TextInput et TextArea à la bibliothèque dans Flash Pro.



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

()méthode 
public function removeHaveObjects(startIndex:Number, endIndex:Number):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Supprime des objets depuis startIndex jusqu’à endIndex du jeu d’objets qui répondent aux demandes, comme l’indique ce nœud aux voisins. Les index doivent être des nombres entiers compris entre 0 et 9 007 199 254 740 992.

Pour plus d’informations sur la réplication d’objets, voir la section "Replicate an object within a group" du guide Flash Media Server Developer’s Guide.

REMARQUE : testez l’événement NetGroup.Neighbor.Connect avant d’appeler cette méthode.

Paramètres

startIndex:Number — Début de la plage d’index d’objets à supprimer du jeu Have.
 
endIndex:Number — Fin de la plage d’index d’objets à supprimer du jeu Have.


Valeur émise
RangeError — Un nombre transmis à cette méthode est inférieur à 0 ou supérieur à 9007199254740992.

Eléments de l’API associés

removeWantObjects

()méthode 
public function removeWantObjects(startIndex:Number, endIndex:Number):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Supprime des objets depuis startIndex jusqu’à endIndex du jeu d’objets à extraire. Les index doivent être des nombres entiers compris entre 0 et 9 007 199 254 740 992.

Pour plus d’informations sur la réplication d’objets, voir la section "Replicate an object within a group" du guide Flash Media Server Developer’s Guide.

REMARQUE : testez l’événement NetGroup.Neighbor.Connect avant d’appeler cette méthode.

Paramètres

startIndex:Number — Début de la plages d’index d’objets à supprimer du jeu Want.
 
endIndex:Number — Fin de la plages d’index d’objets à supprimer du jeu Want.


Valeur émise
RangeError — Un nombre transmis à cette méthode est inférieur à 0 ou supérieur à 9007199254740992.

Eléments de l’API associés

sendToAllNeighbors

()méthode 
public function sendToAllNeighbors(message:Object):String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Envoie un message à tous les voisins. Renvoie NetGroupSendResult.SENT si au moins un voisin a été sélectionné.

Pour plus d’informations sur l’acheminement des messages, voir la section "Route messages directly to a peer" du guide Flash Media Server Developer’s Guide.

Lorsqu’un nœud reçoit un message, un événement NetStatusEvent est envoyé à l’écouteur d’événement de NetGroup avec NetGroup.SendTo.Notify dans la propriété code de l’objet info.

REMARQUE : testez l’événement NetGroup.Neighbor.Connect avant d’appeler cette méthode.

Paramètres

message:Object — Message à envoyer.

Valeur renvoyée
String — Propriété de la classe d’énumération NetGroupSendResult indiquant la réussite ou l’échec de l’envoi.

Eléments de l’API associés

sendToNearest

()méthode 
public function sendToNearest(message:Object, groupAddress:String):String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Envoie un message au voisin (ou au nœud local) le plus proche de l’adresse de groupe spécifiée. Prend en compte les voisins de l’ensemble de l’anneau. Renvoie NetGroupSendResult.SENT si le message a été correctement envoyé vers sa destination.

Pour plus d’informations sur l’acheminement des messages, voir la section "Route messages directly to a peer" du guide Flash Media Server Developer’s Guide.

Lorsqu’un nœud reçoit un message, un événement NetStatusEvent est envoyé à l’écouteur d’événement de NetGroup avec NetGroup.SendTo.Notify dans la propriété code de l’objet info.

REMARQUE : testez l’événement NetGroup.Neighbor.Connect avant d’appeler cette méthode.

Paramètres

message:Object — Message à envoyer.
 
groupAddress:String — Adresse de groupe vers laquelle diriger le message.

Valeur renvoyée
String — Propriété de la classe d’énumération NetGroupSendResult indiquant la réussite ou l’échec de l’envoi.

Eléments de l’API associés

sendToNeighbor

()méthode 
public function sendToNeighbor(message:Object, sendMode:String):String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Envoie un message au voisin spécifié par le paramètre sendMode. Renvoie NetGroupSendResult.SENT si le message a été correctement envoyé vers la destination requise.

Pour plus d’informations sur l’acheminement des messages, voir la section "Route messages directly to a peer" du guide Flash Media Server Developer’s Guide.

Lorsqu’un nœud reçoit un message, un événement NetStatusEvent est envoyé à l’écouteur d’événement de NetGroup avec NetGroup.SendTo.Notify dans la propriété code de l’objet info.

REMARQUE : testez l’événement NetGroup.Neighbor.Connect avant d’appeler cette méthode.

Paramètres

message:Object — Message à envoyer.
 
sendMode:String — Propriété de la classe d’énumération NetGroupSendMode spécifiant le voisin auquel envoyer le message.

Valeur renvoyée
String — Propriété de la classe d’énumération NetGroupSendResult indiquant la réussite ou l’échec de l’envoi.

Eléments de l’API associés

writeRequestedObject

()méthode 
public function writeRequestedObject(requestID:int, object:Object):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Répond à la demande dès sa réception par NetGroup.Replication.Request de NetStatusEvent pour un objet précédemment annoncé avec la méthode addHaveObjects(). L’objet peut être de l’un des types suivants : Object, int, Number et String. L’objet ne peut pas être un objet MovieClip.

Pour plus d’informations sur la réplication d’objets, voir la section "Replicate an object within a group" du guide Flash Media Server Developer’s Guide.

REMARQUE : testez l’événement NetGroup.Neighbor.Connect avant d’appeler cette méthode.

Paramètres

requestID:int — Identifiant de la demande, tel qu’indiqué dans l’événement NetGroup.Replication.Request.
 
object:Object — Objet correspondant à l’index fourni dans l’événement NetGroup.Replication.Request.

Eléments de l’API associés

Détails de l’événement

netStatus

Evénement
Type d’objet d’événement: flash.events.NetStatusEvent
propriété NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 10.1

Distribué lorsqu’un objet NetGroup publie son état ou signale une erreur. L’événement netStatus contient une propriété info. La propriété info est un objet qui contient des informations sur l’événement, telles que la réussite ou l’échec d’une tentative de connexion.

Définit la valeur de la propriété type d’un objet d’événement netStatus.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
infoObjet associé à des propriétés décrivant son état ou indiquant une erreur.
targetObjet NetConnection ou NetStream publiant son état.

Eléments de l’API associés

NetGroupExample.as

Il s’agit d’une application de conférence vidéo simple qui utilise la mise en réseau homologue à homologue. L’application se connecte à Flash Media Server via RTMFP. Le serveur conserve les empreintes des applications clientes et gère le groupe d’homologues lors de la connexion des clients. Cependant, toutes les données sont envoyées entre les clients (homologues), elles ne sont pas renvoyées au serveur.

Lorsque vous exécutez l’application, vous pouvez indiquer n’importe quel nom de groupe dans le champ de saisie de texte. La classe GroupSpecifier utilise le nom (ainsi que toutes les propriétés que vous avez définies) pour créer une chaîne qui est le nom toujours unique du groupe. Pour connecter un autre client au groupe, ce client doit utiliser le même nom de groupe. Par exemple, si le client A utilise le nom de groupe « firstmesh », les autres clients qui souhaitent communiquer avec le client A doivent également utiliser le nom de groupe « firstmesh ». Si le client B utilise le nom de groupe « kite », il parviendra à se connecter, mais il créera un nouveau groupe et ne sera pas en mesure de communiquer avec le client A ou les membres du groupe « 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 ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.