Referencia de ActionScript® 3.0 para la plataforma de Adobe® Flash®
Inicio  |  Ocultar lista de paquetes y clases |  Paquetes  |  Clases  |  Novedades  |  Índice  |  Apéndices  |  ¿Por qué hay texto en inglés?
Filtros: AIR 30.0 y versiones anteriores, Flash Player 30.0 y versiones anteriores, Flash Lite 4
Flex 4.6 y versiones anteriores, Flash Pro CS6 y versiones anteriores
Ocultar filtros
flash.net 

NetGroup  - AS3

Paquetesx

Nivel superior
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

Elementos del lenguaje

Constantes globales
Funciones globales
Operadores
Sentencias, palabras clave y directivas
Tipos especiales

Apéndices

Novedades
Errores del compilador
Advertencias del compilador
Errores en tiempo de ejecución
Migración a ActionScript 3
Conjuntos de caracteres admitidos
Solo etiquetas MXML
Elementos Motion XML
Etiquetas de texto temporizado
Lista de elementos desfasados
Constantes de implementación de accesibilidad
Cómo utilizar ejemplos de ActionScript
Avisos legales
Paqueteflash.net
Clasepublic class NetGroup
HerenciaNetGroup Inheritance EventDispatcher Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Las instancias de la clase NetGroup representan la pertenencia un grupo RTMFP. Utilice esta clase para realizar lo siguiente:
  • Controlar la calidad del servicio. La propiedad infor contiene un objeto NetGroupInfo cuyas propiedades proporcionan estadísticas QOS en este grupo.
  • Enviar. Llame a post() para retransmitir mensajes de ActionScript a todos los miembros de un grupo.
  • Enrutamiento directo. Llame a sendToNearest(), sendToNeighbor() y sendToAllNeighbors() para enviar un breve mensaje de datos a un determinado miembro de un grupo entre pares. El origen y el destino no necesitan tener una conexión directa.
  • Duplicación de objetos. Llame a addHaveObjects(), removeHaveObjects(), addWantObjects(), removeWantObjects(), writeRequestedObject() y denyRequestedObject() para dividir grandes cantidades de datos en fragmentos y duplicarlos en todos los nodos de un grupo P2P.

En la clase NetGroup del lado del cliente, NetConnection distribuye los siguientes eventos:

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

La propiedad info.group del objeto de evento contiene una referencia al origen del evento (NetGroup). NetGroup distribuye todos los demás eventos. En la clase NetGroup del lado del servidor, NetGroup distribuye todos los eventos.

Para obtener información sobre el uso de grupos con redes asistidas por pares, consulte Social Media Experiences with Flash Media and RTMFP, también obra de Tom Krcha (en inglés).

Para obtener información sobre los detalles técnicos de las redes asistidas por pares, consulte P2P on the Flash Platform with RTMFP, obra de Matthew Kaufman, científico computacional de Adobe (en inglés).

Ver los ejemplos

Elementos de API relacionados



Propiedades públicas
 PropiedadDefinido por
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  estimatedMemberCount : Number
[solo lectura] Especifica un número estimado de miembros del grupo basado en la densidad de los elementos locales colindantes y asumiendo una distribución uniforme de direcciones de grupo.
NetGroup
  info : NetGroupInfo
[solo lectura] Devuelve un objeto NetGroupInfo cuyas propiedades proporcionan estadísticas de calidad de servicio relacionadas con el transporte de datos RTMFP P2P de este objeto NetGroup.
NetGroup
  localCoverageFrom : String
[solo lectura] Especifica el comienzo del rango de direcciones de grupo para el cual este nodo es el “más cercano” y responsable.
NetGroup
  localCoverageTo : String
[solo lectura] Especifica el final del rango de direcciones de grupo para el cual este nodo es el “más cercano” y responsable.
NetGroup
  neighborCount : Number
[solo lectura] Especifica el número de miembros del grupo al que este nodo se conecta directamente.
NetGroup
  receiveMode : String
Especifica el modo de recepción de enrutamiento de este nodo como uno de los valores de la clase NetGroupReceiveMode enum.
NetGroup
  replicationStrategy : String
Especifica la estrategia de recogida de duplicación de objetos.
NetGroup
Métodos públicos
 MétodoDefinido por
  
NetGroup(connection:NetConnection, groupspec:String)
Construye un objeto NetGroup en el objeto NetConnection especificado y lo combina con el grupo especificado por groupspec.
NetGroup
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento.
EventDispatcher
  
addHaveObjects(startIndex:Number, endIndex:Number):void
Añade objetos de startIndex a endIndex al conjunto de objetos que este nodo anuncia a sus elementos colindantes como objetos para los que cumplirán las peticiones.
NetGroup
  
Añade un registro manualmente especificando que peerID es un miembro del grupo.
NetGroup
  
Añade un elemento colindante manualmente por conexión directa inmediata con el peerID especificado, que ya debe estar en este grupo.
NetGroup
  
addWantObjects(startIndex:Number, endIndex:Number):void
Añade objetos de startIndex a endIndex al conjunto de objetos que se va a recuperar.
NetGroup
  
Se desconecta del grupo y cierra este NetGroup.
NetGroup
  
Convierte un peerID en una dirección de grupo adecuada para su uso con el método sendToNearest().
NetGroup
  
Deniega a una solicitud recibida en NetGroup.Replication.Request de NetStatusEvent para un objeto previamente anunciado con addHaveObjects().
NetGroup
 Inherited
Distribuye un evento en el flujo del evento.
EventDispatcher
 Inherited
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
EventDispatcher
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
  
post(message:Object):String
Envía un mensaje a todos los miembros del grupo.
NetGroup
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Elimina un detector del objeto EventDispatcher.
EventDispatcher
  
removeHaveObjects(startIndex:Number, endIndex:Number):void
Elimina objetos de startIndex a endIndex del conjunto de objetos que este nodo anuncia a sus elementos colindantes como objetos para los que cumplirán las peticiones.
NetGroup
  
removeWantObjects(startIndex:Number, endIndex:Number):void
Elimina objetos de startIndex a endIndex al conjunto de objetos que se va a recuperar.
NetGroup
  
Envía un mensaje a todos los elementos colindantes.
NetGroup
  
sendToNearest(message:Object, groupAddress:String):String
Envía un mensaje al elemento colindante (o nodo local) más cercano a la dirección de grupo especificada.
NetGroup
  
sendToNeighbor(message:Object, sendMode:String):String
Envía un mensaje al elemento colindante especificado por el parámetro sendMode.
NetGroup
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
 Inherited
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional.
Object
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
 Inherited
Devuelve el valor simple del objeto especificado.
Object
 Inherited
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto.
EventDispatcher
  
writeRequestedObject(requestID:int, object:Object):void
Cumple la petición tal como se recibió por NetStatusEvent NetGroup.Replication.Request para un objeto previamente anunciado con el método addHaveObjects().
NetGroup
Eventos
 Evento Resumen Definido por
 Inherited[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos.EventDispatcher
 Inherited[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos.EventDispatcher
  Se distribuye cuando un objeto NetGroup informa sobre su estado o situación de error.NetGroup
Información sobre propiedades

estimatedMemberCount

propiedad
estimatedMemberCount:Number  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Especifica un número estimado de miembros del grupo basado en la densidad de los elementos locales colindantes y asumiendo una distribución uniforme de direcciones de grupo.



Implementación
    public function get estimatedMemberCount():Number

Elementos de API relacionados

info

propiedad 
info:NetGroupInfo  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Devuelve un objeto NetGroupInfo cuyas propiedades proporcionan estadísticas de calidad de servicio relacionadas con el transporte de datos RTMFP P2P de este objeto NetGroup.



Implementación
    public function get info():NetGroupInfo

Elementos de API relacionados

localCoverageFrom

propiedad 
localCoverageFrom:String  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Especifica el comienzo del rango de direcciones de grupo para el cual este nodo es el “más cercano” y responsable. El rango se especifica en dirección ascendente en el anillo de direcciones de grupo (mod 2256).



Implementación
    public function get localCoverageFrom():String

Elementos de API relacionados

localCoverageTo

propiedad 
localCoverageTo:String  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Especifica el final del rango de direcciones de grupo para el cual este nodo es el “más cercano” y responsable. El rango se especifica en dirección ascendente en el anillo de direcciones de grupo (mod 2256).



Implementación
    public function get localCoverageTo():String

Elementos de API relacionados

neighborCount

propiedad 
neighborCount:Number  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Especifica el número de miembros del grupo al que este nodo se conecta directamente.



Implementación
    public function get neighborCount():Number

Elementos de API relacionados

receiveMode

propiedad 
receiveMode:String

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Especifica el modo de recepción de enrutamiento de este nodo como uno de los valores de la clase NetGroupReceiveMode enum.



Implementación
    public function get receiveMode():String
    public function set receiveMode(value:String):void

Elementos de API relacionados

replicationStrategy

propiedad 
replicationStrategy:String

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Especifica la estrategia de recogida de duplicación de objetos. El valor es uno de los valores enumerados en la clase NetGroupReplicationStrategy.



Implementación
    public function get replicationStrategy():String
    public function set replicationStrategy(value:String):void

Elementos de API relacionados

Información sobre constructores

NetGroup

()Información sobre
public function NetGroup(connection:NetConnection, groupspec:String)

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Construye un objeto NetGroup en el objeto NetConnection especificado y lo combina con el grupo especificado por groupspec.

En la mayoría de los casos, groupspec tiene el potencial de usar el enlaces ascendentes de red en el sistema local. Cuando un objeto NetStream o NetGroup se construye con un groupspec, Flash Player muestra un diálogo Privacidad. El diálogo le preguntará si Flash Player puede utilizar la conexión para compartir datos con un usuario homólogo. Si el usuario hace clic en "Permitir para este dominio", el diálogo no aparece la próxima vez que el usuario se conecte en la aplicación. Si un usuario no permite redes asistidas por pares, todas las funciones del grupo (envío, enrutamiento dirigido, duplicación de objetos y multidifusión) se desactivan. Si se permite, se envía un evento NetStatusEvent al detector de eventos NetConnection con NetGroup.Connect.Success en la propiedad code del objeto info. Si se deniega, la propiedad code es NetGroup.Connect.Rejected. Hasta que no se recibe un evento NetGroup.Connect.Success, se emitirá una excepción si se intenta llamar a cualquier método del objeto NetGroup.

Nota: cuando un cliente se suscribe a una de multidifusión IP nativa, el diálogo Seguridad no aparece.

Parámetros
connection:NetConnection — Un objeto NetConnection.
 
groupspec:String — Una cadena que especifica el grupo RTMFP P2P al que se va a unir, incluido su nombre, las capacidades, las restricciones y las autorizaciones de este miembro.
     new NetGroup(myConnection, myGroupSpecifier.groupspecWithAuthorizations());
     

Emite
ArgumentError — La instancia de NetConnection no está conectada.
 
Error — Las especificaciones del grupo no son válidas.

Elementos de API relacionados

Información sobre métodos

addHaveObjects

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Añade objetos de startIndex a endIndex al conjunto de objetos que este nodo anuncia a sus elementos colindantes como objetos para los que cumplirán las peticiones. De forma predeterminada, el conjunto Have está vacío. Los índices deben ser números enteros entre 0 y 9007199254740992.

Para obtener más información sobre duplicación de objetos, consulte “Replicate an object within a group” en Flash Media Server Developer’s Guide.

Este método envía un evento NetStatusEvent al detector de eventos NetGroup con "NetGroup.Replication.Request" en la propiedad code del objeto info.

NOTA: pruebe el evento NetGroup.Neighbor.Connect antes de llamar a este método.

Parámetros

startIndex:Number — El comienzo del intervalo de los índices del objeto para añadir al conjunto Have.
 
endIndex:Number — El final del intervalo de los índices del objeto para añadir al conjunto Have.


Emite
RangeError — El número transferido a este método es menor que 0 o mayor que 9007199254740992.

Elementos de API relacionados

addMemberHint

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Añade un registro manualmente especificando que peerID es un miembro del grupo. Se intenta establecer una conexión inmediata sólo si es necesario para la topología.

Parámetros

peerID:String — peerID que se añade al conjunto de posibles elementos colindantes.

Valor devuelto
Boolean — TRUE si se completa correctamente, FALSE si falla.

Elementos de API relacionados

addNeighbor

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Añade un elemento colindante manualmente por conexión directa inmediata con el peerID especificado, que ya debe estar en este grupo. Esta conexión directa se puede descargar más adelante si no es necesaria para la topología.

Parámetros

peerID:String — peerID al que se va a conectar inmediatamente.

Valor devuelto
Boolean — TRUE si se completa correctamente, FALSE si falla.

Elementos de API relacionados

addWantObjects

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Añade objetos de startIndex a endIndex al conjunto de objetos que se va a recuperar. Los índices deben ser números enteros entre 0 y 9007199254740992. De forma predeterminada, el conjunto Want está vacío.

Para obtener más información sobre duplicación de objetos, consulte “Replicate an object within a group” en Flash Media Server Developer’s Guide.

Este método envía un evento NetStatusEvent al detector de eventos NetGroup con NetGroup.Replication.Fetch.SendNotify en la propiedad info.code. Este evento es seguido por un evento NetGroup.Replication.Fetch.Failed o NetGroup.Replication.Fetch.Result.

NOTA: pruebe el evento NetGroup.Neighbor.Connect antes de llamar a este método.

Parámetros

startIndex:Number — El comienzo del intervalo de los índices del objeto para añadir al conjunto Want.
 
endIndex:Number — El final del intervalo de los índices del objeto para añadir al conjunto Want.


Emite
RangeError — El número transferido a este método es menor que 0 o mayor que 9007199254740992.

Elementos de API relacionados

close

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Se desconecta del grupo y cierra este NetGroup. Este NetGroup no se puede utilizar después de llamar a este método.

convertPeerIDToGroupAddress

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Convierte un peerID en una dirección de grupo adecuada para su uso con el método sendToNearest().

Parámetros

peerID:String — peerID que se va a convertir.

Valor devuelto
String — La dirección de grupo para peerID.

Elementos de API relacionados

denyRequestedObject

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Deniega a una solicitud recibida en NetGroup.Replication.Request de NetStatusEvent para un objeto previamente anunciado con addHaveObjects(). El solicitante puede volver a pedir este objeto a no ser que (o hasta que) se extraiga del conjunto Have.

Para obtener más información sobre duplicación de objetos, consulte “Replicate an object within a group” en Flash Media Server Developer’s Guide.

NOTA: pruebe el evento NetGroup.Neighbor.Connect antes de llamar a este método.

Parámetros

requestID:int — El identificador de petición tal como se incluye en el evento NetGroup.Replication.Request.

Elementos de API relacionados

post

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Envía un mensaje a todos los miembros del grupo. Para llamar a este método, la propiedad GroupSpecifier.postingEnabled debe ser true en el groupspec transferido al constructor NetGroup. Para obtener más información, consulte “Post messages to a group” en Flash Media Server Developer’s Guide.

Todos los mensajes deben ser exclusivos; un mensaje idéntico a otro publicados anteriormente tal vez no se propague. Utilice un número secuencial para que los mensajes sean exclusivos.

La entrega de mensajes no se ordena. La entrega de mensajes no se garantiza.

Los mensajes se serializan en AMF. El mensaje puede ser de uno de los siguientes tipos: Objecto, int, Number o String. El mensaje no puede ser un objeto MovieClip.

Este método envía un evento NetStatusEvent al detector de eventos NetGroup con "NetGroup.Posting.Notify" en la propiedad info.code. El evento "NetGroup.Posting.Notify" se distribuye a NetGroup tanto en el cliente como en el servidor.

NOTA: pruebe el evento NetGroup.Neighbor.Connect antes de llamar a este método.

Parámetros

message:Object — El mensaje que se va a enviar a todos los miembros del grupo.

Valor devuelto
String — El objeto messageID del mensaje si se publica, o null en caso de error. El objeto messageID es el valor hexadecimal de SHA256 de los bytes sin procesar en la serialización del mensaje.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

Es una aplicación sencilla de texto que se utiliza entre redes homólogas. La aplicación se conecta sobre RTMFP a Flash Media Server. El servidor mantiene las huellas de las aplicaciones cliente y gestiona el grupo de pares como conexiones de cliente. Sin embargo, todos los datos se envían entre clientes (homólogos); los datos no se envían al servidor.

Cuando se ejecuta la aplicación, puede introducir cualquier nombre de grupo en el campo de entrada de texto. La clase GroupSpecifier utiliza el nombre (junto con las propiedades GroupSpecifier que se hayan definido) para crear una cadena que es el nombre exclusivo indefinido del grupo. Para conectar con otro cliente al grupo, el cliente debe utilizar el mismo nombre de grupo. Por ejemplo, si el cliente A utiliza el nombre de grupo "malla", otros clientes que quieran comunicarse con el cliente A también deberán utilizar el nombre de grupo "malla". Si el cliente B utiliza el nombre del grupo "cometa", se conectará correctamente, pero que no creará un nuevo grupo y no podrá comunicarse con el cliente A ni con ningún miembro del grupo "malla".

Para ejecutar este ejemplo, añada un componente Button, Label, TextInput y TextArea a la biblioteca en 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étodo 
public function removeHaveObjects(startIndex:Number, endIndex:Number):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Elimina objetos de startIndex a endIndex del conjunto de objetos que este nodo anuncia a sus elementos colindantes como objetos para los que cumplirán las peticiones. Los índices deben ser números enteros entre 0 y 9007199254740992.

Para obtener más información sobre duplicación de objetos, consulte “Replicate an object within a group” en Flash Media Server Developer’s Guide.

NOTA: pruebe el evento NetGroup.Neighbor.Connect antes de llamar a este método.

Parámetros

startIndex:Number — El comienzo del intervalo de los índices del objeto para eliminar del conjunto Have.
 
endIndex:Number — El final del intervalo de los índices del objeto para eliminar del conjunto Have.


Emite
RangeError — El número transferido a este método es menor que 0 o mayor que 9007199254740992.

Elementos de API relacionados

removeWantObjects

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Elimina los objetos de startIndex a endIndex del conjunto de objetos para recuperar. Los índices deben ser números enteros entre 0 y 9007199254740992.

Para obtener más información sobre duplicación de objetos, consulte “Replicate an object within a group” en Flash Media Server Developer’s Guide.

NOTA: pruebe el evento NetGroup.Neighbor.Connect antes de llamar a este método.

Parámetros

startIndex:Number — El comienzo del intervalo de los índices del objeto para eliminar del conjunto Want.
 
endIndex:Number — El final del intervalo de los índices del objeto para eliminar del conjunto Want.


Emite
RangeError — El número transferido a este método es menor que 0 o mayor que 9007199254740992.

Elementos de API relacionados

sendToAllNeighbors

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Envía un mensaje a todos los elementos colindantes. Devuelve NetGroupSendResult.SENT si al menos se ha seleccionado un elemento colindante.

Para obtener más información sobre los mensajes de enrutamiento, consulte “Route messages directly to a peer” en Flash Media Server Developer’s Guide.

Cuando un nodo recibe un mensaje, se envía un evento NetStatusEvent al detector de eventos de NetGroup con NetGroup.SendTo.Notify en la propiedad code del objeto info.

NOTA: pruebe el evento NetGroup.Neighbor.Connect antes de llamar a este método.

Parámetros

message:Object — Mensaje que se enviará.

Valor devuelto
String — Una propiedad de clase de enumeración NetGroupSendResult que indica si el envío se ha realizado correctamente o si ha fallado.

Elementos de API relacionados

sendToNearest

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Envía un mensaje al elemento colindante (o nodo local) más cercano a la dirección de grupo especificada. Considera elementos colindantes de todo el anillo. Devuelve NetGroupSendResult.SENT si el mensaje se envió correctamente a su destino.

Para obtener más información sobre los mensajes de enrutamiento, consulte “Route messages directly to a peer” en Flash Media Server Developer’s Guide.

Cuando un nodo recibe un mensaje, se envía un evento NetStatusEvent al detector de eventos de NetGroup con NetGroup.SendTo.Notify en la propiedad code del objeto info.

NOTA: pruebe el evento NetGroup.Neighbor.Connect antes de llamar a este método.

Parámetros

message:Object — Mensaje que se enviará.
 
groupAddress:String — La dirección de grupo hacia la que se enruta el mensaje.

Valor devuelto
String — Una propiedad de clase de enumeración NetGroupSendResult que indica si el envío se ha realizado correctamente o si ha fallado.

Elementos de API relacionados

sendToNeighbor

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Envía un mensaje al elemento colindante especificado por el parámetro sendMode. Devuelve NetGroupSendResult.SENT si el mensaje se envió correctamente al destino solicitado.

Para obtener más información sobre los mensajes de enrutamiento, consulte “Route messages directly to a peer” en Flash Media Server Developer’s Guide.

Cuando un nodo recibe un mensaje, se envía un evento NetStatusEvent al detector de eventos de NetGroup con NetGroup.SendTo.Notify en la propiedad code del objeto info.

NOTA: pruebe el evento NetGroup.Neighbor.Connect antes de llamar a este método.

Parámetros

message:Object — Mensaje que se enviará.
 
sendMode:String — Una propiedad de clase de enumeración NetGroupSendMode que especifica el elemento colindante al que se va a enviar el mensaje.

Valor devuelto
String — Una propiedad de clase de enumeración NetGroupSendResult que indica si el envío se ha realizado correctamente o si ha fallado.

Elementos de API relacionados

writeRequestedObject

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 10.1, AIR 2

Cumple la petición tal como se recibió por NetGroup.Replication.Requestde NetStatusEvent para un objeto previamente anunciado con el método addHaveObjects(). El objeto puede ser: Object, int, Number y String. El objeto no puede ser MovieClip.

Para obtener más información sobre duplicación de objetos, consulte “Replicate an object within a group” en Flash Media Server Developer’s Guide.

NOTA: pruebe el evento NetGroup.Neighbor.Connect antes de llamar a este método.

Parámetros

requestID:int — El identificador de petición tal como se incluye en el evento NetGroup.Replication.Request.
 
object:Object — El objeto correspondiente al índice dado en el evento NetGroup.Replication.Request.

Elementos de API relacionados

Información sobre eventos

netStatus

Evento
Tipo de objeto de evento: flash.events.NetStatusEvent
propiedad NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 10.1

Se distribuye cuando un objeto NetGroup informa sobre su estado o situación de error. El evento netStatus contiene una propiedad info. El evento incluye una propiedad info que contiene información sobre el evento, por ejemplo, si el intento de conexión se realizó correctamente o si falló.

Define el valor de la propiedad type de un objeto de evento netStatus.

Este evento tiene las propiedades siguientes:

PropiedadValor
bubblesfalse
cancelablefalse; no hay ningún comportamiento predeterminado que cancelar.
currentTargetObjeto que procesa de forma activa el objeto de evento con un detector de eventos.
infoUn objeto con propiedades que describen el estado del objeto o la situación de error.
targetEl objeto NetConnection o NetStream que informa sobre su estado.

Elementos de API relacionados

NetGroupExample.as

Es una aplicación sencilla de chat con vídeo que se utiliza entre redes homólogas. La aplicación se conecta sobre RTMFP a Flash Media Server. El servidor mantiene las huellas de las aplicaciones cliente y gestiona el grupo de pares como conexiones de cliente. Sin embargo, todos los datos se envían entre clientes (homólogos); los datos no se envían al servidor.

Cuando se ejecuta la aplicación, puede introducir cualquier nombre de grupo en el campo de entrada de texto. La clase GroupSpecifier utiliza el nombre (junto con las propiedades GroupSpecifier que se hayan definido) para crear una cadena que es el nombre exclusivo indefinido del grupo. Para conectar con otro cliente al grupo, el cliente debe utilizar el mismo nombre de grupo. Por ejemplo, si el cliente A utiliza el nombre de grupo "malla", otros clientes que quieran comunicarse con el cliente A también deberán utilizar el nombre de grupo "malla". Si el cliente B utiliza el nombre del grupo "cometa", se conectará correctamente, pero que no creará un nuevo grupo y no podrá comunicarse con el cliente A ni con ningún miembro del grupo "malla".


<?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 ]¿Por qué hay texto en inglés?
Cierto contenido de la Referencia de ActionScript 3.0 se muestra en inglés

No todo el contenido de la Referencia de ActionScript 3.0 se traduce a todos los idiomas. Si un elemento del lenguaje no se traduce, aparecerá en inglés. Por ejemplo, la clase ga.controls.HelpBox no está traducida en ningún idioma. Por lo tanto, en la versión en español de la referencia, la clase ga.controls.HelpBox aparecerá en inglés.