ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: AIR 30.0 und früher, Flash Player 30.0 und früher, Flash Lite 4
Flex 4.6 und früher, Flash Pro CS6 und früher
Filter ausblenden
flash.net 

NetGroup  - AS3

Paketex

Oberste Ebene
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

Sprachelemente

Globale Konstanten
Globale Funktionen
Operatoren
Anweisungen, Schlüsselwörter und Direktiven
Sondertypen

Anhänge

Neue Funktionen
Compiler-Fehler
Compiler-Warnungen
Laufzeitfehler
Migration zu ActionScript 3
Unterstützte Zeichensätze
Nur MXML-Tags
Motion-XML-Elemente
Timed Text-Tags
Liste veralteter Elemente
Konstanten für die Implementierung von Eingabehilfen
Verwendung der ActionScript-Beispiele
Rechtliche Hinweise
Paketflash.net
Klassepublic class NetGroup
VererbungNetGroup Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Instanzen der NetGroup-Klasse repräsentieren die Mitgliedschaft in einer RTMFP-Gruppe. Verwenden Sie diese Klasse für die folgenden Aufgaben:
  • Überwachen der Dienstgüte (Quality of Service, QoS). Die info-Eigenschaft enthält ein NetGroupInfo-Objekt, dessen Eigenschaften QoS-Statistiken für diese Gruppe bereitstellen.
  • Posting. Rufen Sie post() auf, um ActionScript-Meldungen an alle Mitglieder einer Gruppe als Broadcast zu senden.
  • Direktes Weiterleiten. Rufen Sie sendToNearest(), sendToNeighbor() und sendToAllNeighbors() auf, um eine kurze Datenmeldung an ein bestimmtes Mitglied einer Peer-to-Peer-Gruppe zu senden. Die Quelle und das Ziel müssen keine direkte Verbindung haben.
  • Objektreplikation. Rufen Sie addHaveObjects(), removeHaveObjects(), addWantObjects(), removeWantObjects(), writeRequestedObject() und denyRequestedObject() auf, um große Daten in Portionen aufzuteilen und für alle Knoten in einer Peer-to-Peer-Gruppe zu replizieren.

In der clientseitigen NetGroup-Klasse setzt NetConnection die folgenden Ereignisse ab:

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

Die info.group-Eigenschaft des Ereignisobjekts enthält einen Verweis auf die Ereignisquelle (die NetGroup). Die NetGroup setzt alle anderen Ereignisse ab. In der serverseitigen NetGroup-Klasse setzt die NetGroup alle Ereignisse ab.

Informationen zur Verwendung von Gruppen mit Peer-Assisted-Networking mit finden Sie unter Social Media Experiences with Flash Media and RTMFP, ebenfalls von Tom Krcha.

Informationen zu den technischen Details von Peer-Assisted-Networking finden Sie unter P2P on the Flash Platform with RTMFP von Adobe Computer Scientist Matthew Kaufman.

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  estimatedMemberCount : Number
[schreibgeschützt] Gibt die geschätzte Anzahl der Mitglieder der Gruppe an, basierend auf der Dichte der lokalen Nachbarschaft und davon ausgehend, dass die Gruppenadressen gleichmäßig verteilt sind.
NetGroup
  info : NetGroupInfo
[schreibgeschützt] Gibt ein NetGroupInfo-Objekt zurück, dessen Eigenschaften Statistiken zur Dienstgüte in Bezug auf den RTMFP-Peer-to-Peer-Datentransport dieser NetGroup bereitstellen.
NetGroup
  localCoverageFrom : String
[schreibgeschützt] Legt den Beginn des Bereichs der Gruppenadressen fest, für die dieser Knoten der „nächste“ und zuständig ist.
NetGroup
  localCoverageTo : String
[schreibgeschützt] Gibt das Ende des Bereichs der Gruppenadressen an, für die dieser Knoten der „nächste“ und zuständig ist.
NetGroup
  neighborCount : Number
[schreibgeschützt] Legt die Anzahl der Gruppenmitglieder fest, mit denen dieser Knoten direkt verbunden ist.
NetGroup
  receiveMode : String
Gibt den Routing-Empfangsmodus dieses Knotens als einen der Werte in der NetGroupReceiveMode-Aufzählungsklasse an.
NetGroup
  replicationStrategy : String
Legt die Abrufstrategie für die Objektreplikation fest.
NetGroup
Öffentliche Methoden
 MethodeDefiniert von
  
NetGroup(connection:NetConnection, groupspec:String)
Konstruiert eine NetGroup für das angegebene NetConnection-Objekt und fügt es der von groupspec angegebenen Gruppe hinzu.
NetGroup
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
  
addHaveObjects(startIndex:Number, endIndex:Number):void
Fügt Objekte von startIndex bis endIndex zu den Objekten hinzu, die dieser Knoten den Nachbarn als Objekte anbietet, für die er Anforderungen erfüllt.
NetGroup
  
Fügt manuell einen Datensatz hinzu, der angibt, dass peerID ein Mitglied der Gruppe ist.
NetGroup
  
Fügt manuell einen Nachbarn hinzu, indem sofort eine direkte Verbindung zu der angegebenen peerID hergestellt wird, die sich bereits in dieser Gruppe befinden muss.
NetGroup
  
addWantObjects(startIndex:Number, endIndex:Number):void
Fügt Objekte von startIndex bis endIndex zum Satz der abzurufenden Objekte hinzu.
NetGroup
  
Trennt die Verbindung zur Gruppe und schließt diese NetGroup.
NetGroup
  
Konvertiert eine peerID in eine Gruppenadresse, die sich für die Verwendung mit der sendToNearest()-Methode eignet.
NetGroup
  
Lehnt eine Anforderung ab, die in NetStatusEvent NetGroup.Replication.Request für ein zuvor mit addHaveObjects() angebotenes Objekt empfangen wurde.
NetGroup
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
post(message:Object):String
Sendet eine Nachricht an alle Mitglieder einer Gruppe.
NetGroup
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
  
removeHaveObjects(startIndex:Number, endIndex:Number):void
Entfernt Objekte von startIndex bis endIndex von den Objekten, die dieser Knoten den Nachbarn als Objekte anbietet, für die er Anforderungen erfüllt.
NetGroup
  
removeWantObjects(startIndex:Number, endIndex:Number):void
Entfernt Objekte von startIndex bis endIndex aus dem Satz der abzurufenden Objekte.
NetGroup
  
Sendet eine Meldung an alle Nachbarn.
NetGroup
  
sendToNearest(message:Object, groupAddress:String):String
Sendet eine Meldung an den Nachbarn (oder lokalen Knoten), der der angegebenen Gruppenadresse am nächsten ist.
NetGroup
  
sendToNeighbor(message:Object, sendMode:String):String
Sendet eine Nachricht an den Nachbarn, der vom sendMode-Parameter angegeben wird.
NetGroup
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
  
writeRequestedObject(requestID:int, object:Object):void
Erfüllt die Anforderung als von NetStatusEvent NetGroup.Replication.Request empfangen für ein Objekt, das zuvor mit der addHaveObjects()-Methode angeboten wurden.
NetGroup
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
  Wird abgesetzt, wenn der Status oder die Fehlerbedingung eines NetGroup-Objekts protokolliert wird.NetGroup
Eigenschaftendetails

estimatedMemberCount

Eigenschaft
estimatedMemberCount:Number  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt die geschätzte Anzahl der Mitglieder der Gruppe an, basierend auf der Dichte der lokalen Nachbarschaft und davon ausgehend, dass die Gruppenadressen gleichmäßig verteilt sind.



Implementierung
    public function get estimatedMemberCount():Number

Verwandte API-Elemente

info

Eigenschaft 
info:NetGroupInfo  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt ein NetGroupInfo-Objekt zurück, dessen Eigenschaften Statistiken zur Dienstgüte in Bezug auf den RTMFP-Peer-to-Peer-Datentransport dieser NetGroup bereitstellen.



Implementierung
    public function get info():NetGroupInfo

Verwandte API-Elemente

localCoverageFrom

Eigenschaft 
localCoverageFrom:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Legt den Beginn des Bereichs der Gruppenadressen fest, für die dieser Knoten der „nächste“ und zuständig ist. Der Bereich wird in aufsteigender Richtung entlang des Gruppenadressrings mod 2256 angegeben.



Implementierung
    public function get localCoverageFrom():String

Verwandte API-Elemente

localCoverageTo

Eigenschaft 
localCoverageTo:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt das Ende des Bereichs der Gruppenadressen an, für die dieser Knoten der „nächste“ und zuständig ist. Der Bereich wird in aufsteigender Richtung entlang des Gruppenadressrings mod 2256 angegeben.



Implementierung
    public function get localCoverageTo():String

Verwandte API-Elemente

neighborCount

Eigenschaft 
neighborCount:Number  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Legt die Anzahl der Gruppenmitglieder fest, mit denen dieser Knoten direkt verbunden ist.



Implementierung
    public function get neighborCount():Number

Verwandte API-Elemente

receiveMode

Eigenschaft 
receiveMode:String

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt den Routing-Empfangsmodus dieses Knotens als einen der Werte in der NetGroupReceiveMode-Aufzählungsklasse an.



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

Verwandte API-Elemente

replicationStrategy

Eigenschaft 
replicationStrategy:String

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Legt die Abrufstrategie für die Objektreplikation fest. Der Wert ist einer der aufgezählten Werte in der NetGroupReplicationStrategy-Klasse.



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

Verwandte API-Elemente

Konstruktordetails

NetGroup

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Konstruiert eine NetGroup für das angegebene NetConnection-Objekt und fügt es der von groupspec angegebenen Gruppe hinzu.

In den meisten Fällen hat eine groupspec das Potenzial zur Verwendung des Netzwerk-Uplinks im lokalen System. Wenn ein NetStream- oder NetGroup-Objekt mit einem groupspec konstruiert wird, zeigt Flash Player ein Dialogfeld zum Datenschutz an. In diesem Dialogfeld wird gefragt, ob Flash Player die Verbindung nutzen kann, um Daten für die Peers des Benutzers freizugeben. Wenn der Benutzer auf „Für diese Domäne zulassen“ klickt, wird das Dialogfeld das nächste Mal, wenn der Benutzer eine Verbindung zu dieser Anwendung herstellt, nicht mehr angezeigt. Wenn ein Benutzer Peer-Assisted-Networking nicht zulässt, sind alle Peer-Funktionen innerhalb der Gruppe (Posting, direkte Weiterleitung und Objektreplikation) deaktiviert. Wird diese Berechtigung gewährt, wird ein NetStatusEvent an den Ereignis-Listener der NetConnection mit NetGroup.Connect.Success in der code-Eigenschaft des info-Objekts gesendet. Wird die Berechtigung verweigert, hat die code-Eigenschaft den Wert NetGroup.Connect.Rejected. Bis ein NetGroup.Connect.Success-Ereignis empfangen wird, wird eine Ausnahme ausgegeben, wenn Sie versuchen, eine Methode des NetGroup-Objekts aufzurufen.

Hinweis: Wenn ein Client einen Native-IP-Multicast-Stream abonniert, wird das Sicherheitsdialogfeld nicht angezeigt.

Parameter
connection:NetConnection — Ein NetConnection-Objekt.
 
groupspec:String — Ein String, der die RTMFP-Peer-to-Peer-Gruppe, der beigetreten werden soll, angibt, einschließlich Name, Fähigkeiten, Einschränkungen und Autorisierung dieses Mitglieds.
     new NetGroup(myConnection, myGroupSpecifier.groupspecWithAuthorizations());
     

Auslöser
ArgumentError — Die NetConnection-Instanz ist nicht verbunden.
 
Error — Die groupspec ist ungültig.

Verwandte API-Elemente

Methodendetails

addHaveObjects

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Fügt Objekte von startIndex bis endIndex zu den Objekten hinzu, die dieser Knoten den Nachbarn als Objekte anbietet, für die er Anforderungen erfüllt. Standardmäßig ist der Have-Satz leer. Indizes müssen ganze Zahlen von 0 bis 9007199254740992 sein.

Weitere Informationen zur Objektreplizierung finden Sie unter „Replicate an object within a group“ im Flash Media Server Developer’s Guide.

Diese Methode sendet ein NetStatusEvent an den Ereignis-Listener der NetGroup mit "NetGroup.Replication.Request" in der code-Eigenschaft des info-Objekts.

HINWEIS: Prüfen Sie auf das NetGroup.Neighbor.Connect-Ereignis, bevor Sie diese Methode aufrufen.

Parameter

startIndex:Number — Der Anfang des Bereichs der Objektindizes, die dem Have-Satz hinzugefügt werden sollen.
 
endIndex:Number — Das Ende des Bereichs der Objektindizes, die dem Have-Satz hinzugefügt werden sollen.


Auslöser
RangeError — Eine Zahl, die an diese Methode übergeben wird, ist kleiner als 0 oder größer als 9007199254740992.

Verwandte API-Elemente

addMemberHint

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Fügt manuell einen Datensatz hinzu, der angibt, dass peerID ein Mitglied der Gruppe ist. Es wird nur versucht, sofort eine Verbindung herzustellen, wenn dies für die Topologie erforderlich ist.

Parameter

peerID:String — Die peerID, die dem Satz der potenziellen Nachbarn hinzugefügt wird.

Rückgabewerte
Boolean — TRUE bei Erfolg, FALSE bei Fehlschlagen.

Verwandte API-Elemente

addNeighbor

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Fügt manuell einen Nachbarn hinzu, indem sofort eine direkte Verbindung zu der angegebenen peerID hergestellt wird, die sich bereits in dieser Gruppe befinden muss. Diese direkte Verbindung kann später aufgegeben werden, wenn sie nicht mehr für die Topologie erforderlich ist.

Parameter

peerID:String — Die peerID, zu der sofort eine Verbindung hergestellt werden soll.

Rückgabewerte
Boolean — TRUE bei Erfolg, FALSE bei Fehlschlagen.

Verwandte API-Elemente

addWantObjects

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Fügt Objekte von startIndex bis endIndex zum Satz der abzurufenden Objekte hinzu. Indizes müssen ganze Zahlen von 0 bis 9007199254740992 sein. Standardmäßig ist der Want-Satz leer.

Weitere Informationen zur Objektreplizierung finden Sie unter „Replicate an object within a group“ im Flash Media Server Developer’s Guide.

Diese Methode sendet ein NetStatusEvent an den Ereignis-Listener von NetGroup mit NetGroup.Replication.Fetch.SendNotify in der info.code-Eigenschaft hinzu. Diesem Ereignis folgt ein NetGroup.Replication.Fetch.Failed- oder NetGroup.Replication.Fetch.Result-Ereignis.

HINWEIS: Prüfen Sie auf das NetGroup.Neighbor.Connect-Ereignis, bevor Sie diese Methode aufrufen.

Parameter

startIndex:Number — Der Anfang des Bereichs der Objektindizes, die dem Want-Satz hinzugefügt werden sollen.
 
endIndex:Number — Das Ende des Bereichs der Objektindizes, die dem Want-Satz hinzugefügt werden sollen.


Auslöser
RangeError — Eine Zahl, die an diese Methode übergeben wird, ist kleiner als 0 oder größer als 9007199254740992.

Verwandte API-Elemente

close

()Methode 
public function close():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Trennt die Verbindung zur Gruppe und schließt diese NetGroup. Diese NetGroup ist nach dem Aufruf dieser Methode nicht verwendbar.

convertPeerIDToGroupAddress

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Konvertiert eine peerID in eine Gruppenadresse, die sich für die Verwendung mit der sendToNearest()-Methode eignet.

Parameter

peerID:String — Die zu konvertierende peerID.

Rückgabewerte
String — Die Gruppenadresse für die peerID.

Verwandte API-Elemente

denyRequestedObject

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Lehnt eine Anforderung ab, die in NetStatusEvent NetGroup.Replication.Request für ein zuvor mit addHaveObjects() angebotenes Objekt empfangen wurde. Der Anforderer kann dieses Objekt erneut anfordern, sofern es nicht aus dem Have-Satz entfernt wird.

Weitere Informationen zur Objektreplizierung finden Sie unter „Replicate an object within a group“ im Flash Media Server Developer’s Guide.

HINWEIS: Prüfen Sie auf das NetGroup.Neighbor.Connect-Ereignis, bevor Sie diese Methode aufrufen.

Parameter

requestID:int — Der Anforderungsbezeichner wie im NetGroup.Replication.Request-Ereignis angegeben.

Verwandte API-Elemente

post

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Sendet eine Nachricht an alle Mitglieder einer Gruppe. Um diese Methode aufzurufen, muss die GroupSpecifier.postingEnabled-Eigenschaft in der groupspec, die an den NetGroup-Konstruktor übergeben wird, auf true gesetzt sein. Weitere Informationen finden Sie unter „Post messages to a group“ im Flash Media Server Developer’s Guide.

Alle Nachrichten müssen eindeutig sein. Eine Nachricht, die mit einer zuvor geposteten identisch ist, wird möglicherweise nicht weitergegeben. Verwenden Sie eine laufende Nummer, damit die Nachricht eindeutig ist.

Die Nachrichtenzustellung erfolgt nicht geordnet. Die Nachrichtenzustellung ist nicht garantiert.

Nachrichten werden in AMF serialisiert. Die Nachricht kann einen der folgenden Typen aufweisen: Object, int, Number oder String. Die Nachricht kann kein MovieClip sein.

Diese Methode sendet ein NetStatusEvent an den Ereignis-Listener von NetGroup mit "NetGroup.Posting.Notify" in der info.code-Eigenschaft. Das "NetGroup.Posting.Notify"-Ereignis wird an die NetGroup auf dem Client und auf dem Server abgesetzt.

HINWEIS: Prüfen Sie auf das NetGroup.Neighbor.Connect-Ereignis, bevor Sie diese Methode aufrufen.

Parameter

message:Object — Die Nachricht, die an alle anderen Mitglieder der Gruppe gesendet werden soll.

Rückgabewerte
String — Die messageID der Nachricht, falls sie gepostet wurde, oder null bei einem Fehler. Die messageID ist der Hexadezimalwert des SHA256 der Grundbytes der Serialisierung der Nachricht.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Dies ist eine einfache Text-Chatanwendung, die Peer-to-Peer-Networking verwendet. Die Anwendung stellt über RTMFP eine Verbindung zu Flash Media Server her. Der Server bewahrt die Fingerabdrücke der Clientanwendung auf und verwaltet die Peer-Gruppen, wenn Clients die Verbindung herstellen. Alle Daten werden jedoch zwischen den Clients (Peers) übertragen - es werden keine Daten zurück an den Server gesendet.

Wenn Sie die Anwendung ausführen, können Sie einen beliebigen Gruppennamen in das Texteingabefeld eingeben. Die GroupSpecifier-Klasse verwendet den Namen (zusammen mit ggf. von Ihnen festgelegten GroupSpecifier-Eigenschaften), um einen String zu erstellen, der der ständige eindeutige Namen der Gruppe ist. Um einen anderen Client mit der Gruppe zu verbinden, muss dieser Client denselben Gruppennamen verwenden. Wenn zum Beispiel Client A den Gruppennamen „firstmesh“ verwendet, müssen andere Clients, die mit Client A kommunizieren möchten, auch den Gruppennamen „firstmesh“ verwenden. Wenn Client B den Gruppennamen „kite“ verwendet, wird zwar erfolgreich eine Verbindung hergestellt, es wird jedoch eine neue Gruppe erstellt und die Kommunikation mit Client A oder einem anderen Client in der Gruppe „firstmesh“ ist nicht möglich.

Um dieses Beispiel auszuführen, fügen Sie der Bibliothek in Flash Pro eine Button-, eine Label-, eine TextInput- und eine TextArea-Komponente hinzu.



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

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Entfernt Objekte von startIndex bis endIndex von den Objekten, die dieser Knoten den Nachbarn als Objekte anbietet, für die er Anforderungen erfüllt. Indizes müssen ganze Zahlen von 0 bis 9007199254740992 sein.

Weitere Informationen zur Objektreplizierung finden Sie unter „Replicate an object within a group“ im Flash Media Server Developer’s Guide.

HINWEIS: Prüfen Sie auf das NetGroup.Neighbor.Connect-Ereignis, bevor Sie diese Methode aufrufen.

Parameter

startIndex:Number — Der Anfang des Bereichs der Objektindizes, die aus dem Have-Satz entfernt werden sollen.
 
endIndex:Number — Das Ende des Bereichs der Objektindizes, die aus dem Have-Satz entfernt werden sollen.


Auslöser
RangeError — Eine Zahl, die an diese Methode übergeben wird, ist kleiner als 0 oder größer als 9007199254740992.

Verwandte API-Elemente

removeWantObjects

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Entfernt Objekte von startIndex bis endIndex aus dem Satz der abzurufenden Objekte. Indizes müssen ganze Zahlen von 0 bis 9007199254740992 sein.

Weitere Informationen zur Objektreplizierung finden Sie unter „Replicate an object within a group“ im Flash Media Server Developer’s Guide.

HINWEIS: Prüfen Sie auf das NetGroup.Neighbor.Connect-Ereignis, bevor Sie diese Methode aufrufen.

Parameter

startIndex:Number — Der Anfang des Bereichs der Objektindizes, die aus dem Want-Satz entfernt werden sollen.
 
endIndex:Number — Das Ende des Bereichs der Objektindizes, die aus dem Want-Satz entfernt werden sollen.


Auslöser
RangeError — Eine Zahl, die an diese Methode übergeben wird, ist kleiner als 0 oder größer als 9007199254740992.

Verwandte API-Elemente

sendToAllNeighbors

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Sendet eine Meldung an alle Nachbarn. Gibt NetGroupSendResult.SENT zurück, wenn mindestens ein Nachbar ausgewählt wurde.

Weitere Informationen zum Weiterleiten von Nachrichten finden Sie unter „Route messages directly to a peer“ im Flash Media Server Developer’s Guide.

Wenn ein Knoten eine Nachricht empfängt, wird ein NetStatusEvent an den Ereignis-Listener von NetGroup mit NetGroup.SendTo.Notify in der code-Eigenschaft des info-Objekts gesendet.

HINWEIS: Prüfen Sie auf das NetGroup.Neighbor.Connect-Ereignis, bevor Sie diese Methode aufrufen.

Parameter

message:Object — Die zu sendende Meldung.

Rückgabewerte
String — Eine Eigenschaft der Aufzählungsklasse NetGroupSendResult, die angibt, ob der Sendevorgang erfolgreich war oder fehlgeschlagen ist.

Verwandte API-Elemente

sendToNearest

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Sendet eine Meldung an den Nachbarn (oder lokalen Knoten), der der angegebenen Gruppenadresse am nächsten ist. Berücksichtigt Nachbarn aus dem gesamten Ring. Gibt NetGroupSendResult.SENT zurück, wenn die Nachricht erfolgreich an ihr Ziel gesendet wurde.

Weitere Informationen zum Weiterleiten von Nachrichten finden Sie unter „Route messages directly to a peer“ im Flash Media Server Developer’s Guide.

Wenn ein Knoten eine Nachricht empfängt, wird ein NetStatusEvent an den Ereignis-Listener von NetGroup mit NetGroup.SendTo.Notify in der code-Eigenschaft des info-Objekts gesendet.

HINWEIS: Prüfen Sie auf das NetGroup.Neighbor.Connect-Ereignis, bevor Sie diese Methode aufrufen.

Parameter

message:Object — Die zu sendende Meldung.
 
groupAddress:String — Die Gruppenadresse, an die die Nachricht geleitet werden soll.

Rückgabewerte
String — Eine Eigenschaft der Aufzählungsklasse NetGroupSendResult, die angibt, ob der Sendevorgang erfolgreich war oder fehlgeschlagen ist.

Verwandte API-Elemente

sendToNeighbor

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Sendet eine Nachricht an den Nachbarn, der vom sendMode-Parameter angegeben wird. Gibt NetGroupSendResult.SENT zurück, wenn die Nachricht erfolgreich an das angeforderte Ziel gesendet wurde.

Weitere Informationen zum Weiterleiten von Nachrichten finden Sie unter „Route messages directly to a peer“ im Flash Media Server Developer’s Guide.

Wenn ein Knoten eine Nachricht empfängt, wird ein NetStatusEvent an den Ereignis-Listener von NetGroup mit NetGroup.SendTo.Notify in der code-Eigenschaft des info-Objekts gesendet.

HINWEIS: Prüfen Sie auf das NetGroup.Neighbor.Connect-Ereignis, bevor Sie diese Methode aufrufen.

Parameter

message:Object — Die zu sendende Meldung.
 
sendMode:String — Eine Eigenschaft der Aufzählungsklasse NetGroupSendMode, die den Nachbarn angibt, an den die Nachricht gesendet werden soll.

Rückgabewerte
String — Eine Eigenschaft der Aufzählungsklasse NetGroupSendResult, die angibt, ob der Sendevorgang erfolgreich war oder fehlgeschlagen ist.

Verwandte API-Elemente

writeRequestedObject

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Erfüllt die Anforderung wie von NetStatusEvent NetGroup.Replication.Request empfangen für ein Objekt, das zuvor mit der addHaveObjects()-Methode angeboten wurden. Das Objekt kann einen der folgenden Typen aufweisen: Object, int, Number oder String. Das Objekt kann kein MovieClip sein.

Weitere Informationen zur Objektreplizierung finden Sie unter „Replicate an object within a group“ im Flash Media Server Developer’s Guide.

HINWEIS: Prüfen Sie auf das NetGroup.Neighbor.Connect-Ereignis, bevor Sie diese Methode aufrufen.

Parameter

requestID:int — Der Anforderungsbezeichner wie im NetGroup.Replication.Request-Ereignis angegeben.
 
object:Object — Das Objekt, das dem Index entspricht, der im NetGroup.Replication.Request-Ereignis angegeben wurde.

Verwandte API-Elemente

Ereignisdetails

netStatus

Ereignis
Ereignisobjekttyp: flash.events.NetStatusEvent
Eigenschaft NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 10.1

Wird abgesetzt, wenn der Status oder die Fehlerbedingung eines NetGroup-Objekts protokolliert wird. Das netStatus-Ereignis enthält eine info-Eigenschaft. Die info-Eigenschaft ist ein Objekt mit Informationen über das Ereignis, z. B., ob ein Verbindungsversuch erfolgreich war oder fehlgeschlagen ist.

Definiert den Wert der Eigenschaft type eines netStatus-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
infoEin Objekt mit Eigenschaften, die den Status oder die Fehlerbedingung des Objekts beschreiben.
targetDas NetConnection- oder NetStream-Objekt, dessen Status protokolliert wird.

Verwandte API-Elemente

NetGroupExample.as

Dies ist eine einfache Videochatanwendung, die Peer-to-Peer-Networking verwendet. Die Anwendung stellt über RTMFP eine Verbindung zu Flash Media Server her. Der Server bewahrt die Fingerabdrücke der Clientanwendung auf und verwaltet die Peer-Gruppen, wenn Clients die Verbindung herstellen. Alle Daten werden jedoch zwischen den Clients (Peers) übertragen - es werden keine Daten zurück an den Server gesendet.

Wenn Sie die Anwendung ausführen, können Sie einen beliebigen Gruppennamen in das Texteingabefeld eingeben. Die GroupSpecifier-Klasse verwendet den Namen (zusammen mit ggf. von Ihnen festgelegten GroupSpecifier-Eigenschaften), um einen String zu erstellen, der der ständige eindeutige Namen der Gruppe ist. Um einen anderen Client mit der Gruppe zu verbinden, muss dieser Client denselben Gruppennamen verwenden. Wenn zum Beispiel Client A den Gruppennamen „firstmesh“ verwendet, müssen andere Clients, die mit Client A kommunizieren möchten, auch den Gruppennamen „firstmesh“ verwenden. Wenn Client B den Gruppennamen „kite“ verwendet, wird zwar erfolgreich eine Verbindung hergestellt, es wird jedoch eine neue Gruppe erstellt und die Kommunikation mit Client A oder einem anderen Client in der Gruppe „firstmesh“ ist nicht möglich.


<?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 ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.