ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.net 

NetGroup  - AS3

Pakietyx

Najwyższy poziom
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

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.net
Klasapublic class NetGroup
DziedziczenieNetGroup Inheritance EventDispatcher Inheritance Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Instancje klasy NetGroup reprezentują członkostwo w grupie RTMFP. Ta klasa może być stosowana w następujących celach:
  • Monitorowanie jakości usług. Właściwość info zawiera obiekt NetGroupInfo, którego właściwości udostępniają dane statystyczne na temat jakości usług (QoS) w tej grupie.
  • Ogłaszanie. Wywołując metodę post(), można rozgłaszać komunikaty ActionScript wśród wszystkich elementów grupy.
  • Routing ukierunkowany Metody sendToNearest(), sendToNeighbor() i sendToAllNeighbors() umożliwiają wysłanie krótkiego komunikatu z danymi do konkretnego elementu grupy P2P. Węzeł źródłowy nie musi być bezpośrednio połączony z docelowym.
  • Replikacja obiektów. Metody addHaveObjects(), removeHaveObjects(), addWantObjects(), removeWantObjects(), writeRequestedObject() i denyRequestedObject() umożliwiają rozbicie dużych zbiorów danych na mniejsze fragmenty i replikowanie ich do wszystkich węzłów w grupie P2P.

W klienckiej klasie NetGroup obiekt NetConnection wywołuje następujące zdarzenia:

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

Właściwość info.group obiektu zdarzenia zawiera odwołanie do źródła zdarzenia (NetGroup). Klasa NetGroup wywołuje wszystkie pozostałe zdarzenia. W serwerowej klasie NetGroup obiekt NetGroup wywołuje wszystkie zdarzenia.

Informacje o korzystaniu z grup w sieciach ze wspomaganiem P2P zawiera artykuł Social Media Experiences with Flash Media and RTMFP, którego autorem także jest Tom Krcha.

Informacje o szczegółach technicznych działania sieci ze wspomaganiem P2P zawiera dokument P2P on the Flash Platform with RTMFP (autor: Matthew Kaufman, informatyk w firmie Adobe).

Wyświetl przykłady

Powiązane elementy interfejsu API



Właściwości publiczne
 WłaściwośćZdefiniowane przez
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
  estimatedMemberCount : Number
[tylko do odczytu] Określa szacowaną liczbę elementów grupy na podstawie gęstości lokalnych węzłów sąsiadujących i przy założeniu, że rozkład adresów grupowych jest równomierny.
NetGroup
  info : NetGroupInfo
[tylko do odczytu] Zwraca obiekt NetGroupInfo, którego właściwości udostępniają parametry statystyczne jakości usług związane z transportem danych RTMFP tego obiektu NetGroup.
NetGroup
  localCoverageFrom : String
[tylko do odczytu] Określa początek zakresu adresów grupowych, dla których węzeł jest węzłem „najbliższym” i odpowiedzialnym.
NetGroup
  localCoverageTo : String
[tylko do odczytu] Określa koniec zakresu adresów grupowych, dla których węzeł jest węzłem „najbliższym” i odpowiedzialnym.
NetGroup
  neighborCount : Number
[tylko do odczytu] Określa liczbę elementów grupy, z którymi ten węzeł jest bezpośrednio połączony.
NetGroup
  receiveMode : String
Określa tryb odbioru routingu węzła jako jedną z wartości klasy wyliczeniowej NetGroupReceiveMode.
NetGroup
  replicationStrategy : String
Określa strategię pobierania przy replikacji obiektów.
NetGroup
Metody publiczne
 MetodaZdefiniowane przez
  
NetGroup(connection:NetConnection, groupspec:String)
Konstruuje obiekt NetGroup dla określonego obiektu połączenia NetConnection i powoduje przyłączenie tego obiektu do grupy określonej przez parametr groupspec.
NetGroup
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu.
EventDispatcher
  
addHaveObjects(startIndex:Number, endIndex:Number):void
Dodaje obiekty o numerach od startIndex do endIndex włącznie do zbioru obiektów anonsowanych przez ten węzeł sąsiadom jako obiekty, dla których będzie realizował żądania.
NetGroup
  
Umożliwia ręczne dodanie rekordu określającego, że peerID jest elementem grupy Group.
NetGroup
  
Umożliwia ręczne dodanie sąsiada poprzez natychmiastowe nawiązanie połączenia bezpośrednio z określonym węzłem peerID, który już musi należeć do grupy Group.
NetGroup
  
addWantObjects(startIndex:Number, endIndex:Number):void
Dodaje obiekty o numerach od startIndex do endIndex włącznie do zbioru obiektów, które mają być pobrane.
NetGroup
  
Powoduje odłączenie od grupy Group i zamknięcie tego obiektu NetGroup.
NetGroup
  
Konwertuje identyfikator peerID na adres grupy odpowiedni dla metody sendToNearest().
NetGroup
  
Powoduje odmowę żądania odebranego we właściwości NetStatusEvent NetGroup.Replication.Request i dotyczącego obiektu anonsowanego wcześniej za pomocą metody addHaveObjects().
NetGroup
 Inherited
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń.
EventDispatcher
 Inherited
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń.
EventDispatcher
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
  
post(message:Object):String
Wysyła wiadomość do wszystkich elementów grupy.
NetGroup
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Usuwa detektor z obiektu EventDispatcher.
EventDispatcher
  
removeHaveObjects(startIndex:Number, endIndex:Number):void
Usuwa obiekty o numerach od startIndex do endIndex włącznie ze zbioru obiektów anonsowanych przez ten węzeł sąsiadom jako obiekty, dla których będzie realizował żądania.
NetGroup
  
removeWantObjects(startIndex:Number, endIndex:Number):void
Usuwa obiekty o numerach od startIndex do endIndex włącznie ze zbioru obiektów, które mają być pobrane.
NetGroup
  
Wysyła komunikat do wszystkich sąsiadów.
NetGroup
  
sendToNearest(message:Object, groupAddress:String):String
Wysyła komunikat do sąsiada (lub węzła lokalnego) najbliższego określonemu adresowi grupowemu.
NetGroup
  
sendToNeighbor(message:Object, sendMode:String):String
Wysyła komunikat do sąsiada określonego w parametrze sendMode.
NetGroup
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
 Inherited
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych.
EventDispatcher
  
writeRequestedObject(requestID:int, object:Object):void
Zaspokaja żądanie odebrane w zdarzeniu NetGroup.Replication.Request obiektu NetStatusEvent dotyczące obiektu anonsowanego wcześniej za pomocą metody addHaveObjects().
NetGroup
Zdarzenia
 Zdarzenie Podsumowanie Zdefiniowane przez
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny.EventDispatcher
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny.EventDispatcher
  Dysponowana, gdy obiekt NetGroup zgłasza swój status lub stan błędu.NetGroup
Szczegół właściwości

estimatedMemberCount

właściwość
estimatedMemberCount:Number  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Określa szacowaną liczbę elementów grupy na podstawie gęstości lokalnych węzłów sąsiadujących i przy założeniu, że rozkład adresów grupowych jest równomierny.



Implementacja
    public function get estimatedMemberCount():Number

Powiązane elementy interfejsu API

info

właściwość 
info:NetGroupInfo  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Zwraca obiekt NetGroupInfo, którego właściwości udostępniają parametry statystyczne jakości usług związane z transportem danych RTMFP tego obiektu NetGroup.



Implementacja
    public function get info():NetGroupInfo

Powiązane elementy interfejsu API

localCoverageFrom

właściwość 
localCoverageFrom:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Określa początek zakresu adresów grupowych, dla których węzeł jest węzłem „najbliższym” i odpowiedzialnym. Zakres określa się w kierunku rosnącym wzdłuż pierścienia adresów grupowych modulo 2256.



Implementacja
    public function get localCoverageFrom():String

Powiązane elementy interfejsu API

localCoverageTo

właściwość 
localCoverageTo:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Określa koniec zakresu adresów grupowych, dla których węzeł jest węzłem „najbliższym” i odpowiedzialnym. Zakres określa się w kierunku rosnącym wzdłuż pierścienia adresów grupowych modulo 2256.



Implementacja
    public function get localCoverageTo():String

Powiązane elementy interfejsu API

neighborCount

właściwość 
neighborCount:Number  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Określa liczbę elementów grupy, z którymi ten węzeł jest bezpośrednio połączony.



Implementacja
    public function get neighborCount():Number

Powiązane elementy interfejsu API

receiveMode

właściwość 
receiveMode:String

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Określa tryb odbioru routingu węzła jako jedną z wartości klasy wyliczeniowej NetGroupReceiveMode.



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

Powiązane elementy interfejsu API

replicationStrategy

właściwość 
replicationStrategy:String

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Określa strategię pobierania przy replikacji obiektów. Wartość jest jedną z wyliczonych w klasie NetGroupReplicationStrategy.



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

Powiązane elementy interfejsu API

Konstruktor Szczegół

NetGroup

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Konstruuje obiekt NetGroup dla określonego obiektu połączenia NetConnection i powoduje przyłączenie tego obiektu do grupy określonej przez parametr groupspec.

W większości przypadków groupspec umożliwia użycie wyjściowego łącza sieciowego w systemie lokalnym. W momencie konstruowania obiektu NetStream lub NetGroup na podstawie specyfikacji grupy w programie Flash Player wyświetlane jest okno dialogowe dotyczące ochrony prywatności. Okno zawiera pytanie, czy program Flash Player może wykorzystywać połączenie do udostępniania danych węzłom w sieci P2P użytkownika. Jeśli użytkownik kliknie opcję zezwolenia dla danej domeny, okno dialogowe nie będzie wyświetlane przy następnych próbach połączenia z tą samą aplikacją. Jeśli użytkownik nie zezwoli na obsługę sieci P2P, wszystkie funkcje P2P w grupie (ogłaszanie, routing ukierunkowany, replikacja obiektów i multiemisja) będą wyłączone. Jeśli użytkownik wyrazi zgodę, do detektora zdarzeń obiektu NetConnection wysyłane jest zdarzenie NetStatusEvent z właściwością code obiektu info ustawioną na NetGroup.Connect.Success. W razie braku zezwolenia właściwość code przyjmuje wartość NetGroup.Connect.Rejected. Do czasu odebrania zdarzenia NetGroup.Connect.Success każda próba wywołania jakiejkolwiek metody obiektu NetGroup spowoduje wygenerowanie wyjątku.

Uwaga: Gdy klient subskrybuje strumień multiemisji obsługiwany natywnie w sieci IP, okno dialogowe dotyczące zabezpieczeń nie jest wyświetlane.

Parametry
connection:NetConnection — Obiekt NetConnection.
 
groupspec:String — Ciąg określający grupę równorzędną protokołu RTMFP, do której ma zostać przyłączony obiekt, a w szczególności nazwę, możliwości, ograniczenia i autoryzacje tego obiektu.
     new NetGroup(myConnection, myGroupSpecifier.groupspecWithAuthorizations());
     

Zgłasza
ArgumentError — Wystąpienie NetConnection nie jest połączone.
 
Error — Parametr groupspec jest niepoprawny.

Powiązane elementy interfejsu API

Szczegół metody

addHaveObjects

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Dodaje obiekty o numerach od startIndex do endIndex włącznie do zbioru obiektów anonsowanych przez ten węzeł sąsiadom jako obiekty, dla których będzie realizował żądania. Domyślnie zbiór Have jest pusty. Indeksy muszą być liczbami całkowitymi z przedziału od 0 do 9007199254740992.

Dodatkowe informacje o replikacji obiektów zawiera dokument Replikacja obiektu w obrębie grupy na stronie Flash Media Server — Podręcznik dla programistów.

Ta metoda wysyła do detektora zdarzeń obiektu NetGroup zdarzenie NetStatusEvent z wartością NetGroup.Replication.Request we właściwości code obiektu info.

UWAGA: przed wywołaniem tej metody należy wykryć zdarzenie NetGroup.Neighbor.Connect.

Parametry

startIndex:Number — Początek zakresu indeksów obiektów, jakie mają być dodane do zbioru Have.
 
endIndex:Number — Koniec zakresu indeksów obiektów, jakie mają być dodane do zbioru Have.


Zgłasza
RangeError — Liczba przekazana do tej metody jest mniejsza od 0 lub większa od 9007199254740992.

Powiązane elementy interfejsu API

addMemberHint

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Umożliwia ręczne dodanie rekordu określającego, że peerID jest elementem grupy Group. Próba natychmiastowego nawiązania połączenia jest podejmowana tylko wtedy, gdy taka konieczność wynika z topologii.

Parametry

peerID:String — Element peerID, który ma być dodany do zbioru potencjalnych sąsiadów.

Zwraca
Boolean — TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.

Powiązane elementy interfejsu API

addNeighbor

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Umożliwia ręczne dodanie sąsiada poprzez natychmiastowe nawiązanie połączenia bezpośrednio z określonym węzłem peerID, który już musi należeć do grupy Group. To bezpośrednie połączenie może później zostać usunięte, jeśli nie jest potrzebne ze względu na topologię.

Parametry

peerID:String — Węzeł peerID, z którym ma być natychmiast nawiązane połączenie.

Zwraca
Boolean — TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.

Powiązane elementy interfejsu API

addWantObjects

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Dodaje obiekty o numerach od startIndex do endIndex włącznie do zbioru obiektów, które mają być pobrane. Indeksy muszą być liczbami całkowitymi z przedziału od 0 do 9007199254740992. Domyślnie zbiór Want jest pusty.

Dodatkowe informacje o replikacji obiektów zawiera dokument Replikacja obiektu w obrębie grupy na stronie Flash Media Server — Podręcznik dla programistów.

Ta metoda wysyła do detektora zdarzeń obiektu NetGroup zdarzenie NetStatusEvent zawierające wartość NetGroup.Replication.Fetch.SendNotify we właściwości info.code. Po tym zdarzeniu następuje zdarzenie NetGroup.Replication.Fetch.Failed lub NetGroup.Replication.Fetch.Result.

UWAGA: Przed wywołaniem tej metody należy wykryć zdarzenie NetGroup.Neighbor.Connect.

Parametry

startIndex:Number — Początek zakresu indeksów obiektów, jakie mają być dodane do zbioru Want.
 
endIndex:Number — Koniec zakresu indeksów obiektów, jakie mają być dodane do zbioru Want.


Zgłasza
RangeError — Liczba przekazana do tej metody jest mniejsza od 0 lub większa od 9007199254740992.

Powiązane elementy interfejsu API

close

()metoda 
public function close():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Powoduje odłączenie od grupy Group i zamknięcie tego obiektu NetGroup. Po wywołaniu tej metody obiekt NetGroup przestaje być zdatny do użytku.

convertPeerIDToGroupAddress

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Przekształca identyfikator peerID na adres grupowy odpowiedni dla metody sendToNearest().

Parametry

peerID:String — Identyfikator peerID do przekształcenia.

Zwraca
String — Adres grupowy odpowiadający identyfikatorowi peerID.

Powiązane elementy interfejsu API

denyRequestedObject

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Powoduje odmowę żądania odebranego we właściwości NetGroup.Replication.Request obiektu NetStatusEvent i dotyczącego obiektu anonsowanego wcześniej za pomocą metody addHaveObjects(). Węzeł żądający może ponownie żądać tego samego obiektu dopóki nie zostanie on wycofany ze zbioru Have.

Dodatkowe informacje o replikacji obiektów zawiera dokument Replikacja obiektu w obrębie grupy na stronie Flash Media Server — Podręcznik dla programistów.

UWAGA: przed wywołaniem tej metody należy wykryć zdarzenie NetGroup.Neighbor.Connect.

Parametry

requestID:int — Identyfikator żądania podany w zdarzeniu NetGroup.Replication.Request.

Powiązane elementy interfejsu API

post

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Wysyła wiadomość do wszystkich elementów grupy. Aby można było wywołać tę metodę, właściwość GroupSpecifier.postingEnabled w specyfikacji grupy przekazanej do konstruktora NetGroup musi mieć wartość true. Więcej informacji zawiera dokument Publikowanie wiadomości w grupie na stronie Flash Media Server — Podręcznik dla programistów.

Wszystkie komunikaty muszą być unikatowe; nie jest możliwa propagacja komunikatu identycznego z ogłoszonym wcześniej. Aby zapewnić unikatowość komunikatów, należy przypisywać im numery kolejne.

Komunikaty nie są dostarczane w określonej kolejności. Dostarczenie komunikatu nie jest gwarantowane.

Komunikaty są serializowane w formacie AMF. Komunikat może należeć do jednego z następujących typów: Object, int, Number lub String. Komunikat nie może być obiektem MovieClip.

Ta metoda wysyła do detektora zdarzeń obiektu NetGroup zdarzenie NetStatusEvent zawierające wartość "NetGroup.Posting.Notify" we właściwości info.code. Zdarzenie "NetGroup.Posting.Notify" jest wysyłane do obiektu NetGroup zarówno na kliencie, jak i na serwerze.

UWAGA: przed wywołaniem tej metody należy wykryć zdarzenie NetGroup.Neighbor.Connect.

Parametry

message:Object — Komunikat, który ma zostać wysłany do wszystkich pozostałych elementów grupy.

Zwraca
String — Identyfikator (messageID) komunikatu, jeśli zostanie on ogłoszony, lub null w razie błędu. messageID to serializowana postać nieprzetworzonych bajtów komunikatu w formacie szesnastkowym lub SHA256.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Oto prosta aplikacja do prowadzenia rozmowy tekstowej (czatu) oparta na sieci równorzędnej (P2P). Aplikacja nawiązuje połączenie z oprogramowaniem Flash Media Server za pośrednictwem protokołu RTMFP. Serwer przechowuje cyfrowe „odciski palców” aplikacji klienckich i zarządza grupą komputerów równorzędnych podczas nawiązywania połączeń przez oprogramowanie klienckie. Jednak wszystkie dane są przesyłane między klientami (komputerami równorzędnymi) — dane nie są przesyłane z powrotem na serwer.

Po uruchomieniu aplikacji można wprowadzić dowolną nazwę grupy do wejściowego pola tekstowego. W klasie GroupSpecifier nazwa (razem z dowolną ustawioną przez użytkownika właściwością GroupSpecifier) jest używana w celu utworzenia ciągu znaków, który pozostanie na stałe unikalną nazwą grupy. Aby przyłączyć kolejnego klienta do grupy, klient musi użyć tej samej nazwy grupy. Na przykład, jeśli klient A użyje nazwy grupy "firstmesh", pozostałe klienty, chcąc komunikować się z klientem A, również muszą użyć nazwy grupy "firstmesh". Jeśli klient B użyje nazwy grupy "kite", wówczas połączenie zostanie nawiązane pomyślnie, ale zostanie utworzona nowa grupa i klient B nie będzie mógł się komunikować z klientem A, ani z żadnym innym klientem z grupy "firstmesh".

Aby uruchomić ten przykład, należy dodać składniki Button, Label, TextInput oraz TextArea do obiektu Library w programie 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

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Usuwa obiekty o numerach od startIndex do endIndex włącznie ze zbioru obiektów anonsowanych przez ten węzeł sąsiadom jako obiekty, dla których będzie realizował żądania. Indeksy muszą być liczbami całkowitymi z przedziału od 0 do 9007199254740992.

Dodatkowe informacje o replikacji obiektów zawiera dokument Replikacja obiektu w obrębie grupy na stronie Flash Media Server — Podręcznik dla programistów.

UWAGA: przed wywołaniem tej metody należy wykryć zdarzenie NetGroup.Neighbor.Connect.

Parametry

startIndex:Number — Początek zakresu indeksów obiektów, jakie mają być usunięte ze zbioru Have.
 
endIndex:Number — Koniec zakresu indeksów obiektów, jakie mają być usunięte ze zbioru Have.


Zgłasza
RangeError — Liczba przekazana do tej metody jest mniejsza od 0 lub większa od 9007199254740992.

Powiązane elementy interfejsu API

removeWantObjects

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Usuwa obiekty o numerach od startIndex do endIndex włącznie ze zbioru obiektów, które mają być pobrane. Indeksy muszą być liczbami całkowitymi z przedziału od 0 do 9007199254740992.

Dodatkowe informacje o replikacji obiektów zawiera dokument Replikacja obiektu w obrębie grupy na stronie Flash Media Server — Podręcznik dla programistów.

UWAGA: przed wywołaniem tej metody należy wykryć zdarzenie NetGroup.Neighbor.Connect.

Parametry

startIndex:Number — Początek zakresu indeksów obiektów, jakie mają być usunięte ze zbioru Want.
 
endIndex:Number — Koniec zakresu indeksów obiektów, jakie mają być usunięte ze zbioru Want.


Zgłasza
RangeError — Liczba przekazana do tej metody jest mniejsza od 0 lub większa od 9007199254740992.

Powiązane elementy interfejsu API

sendToAllNeighbors

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Wysyła komunikat do wszystkich sąsiadów. Zwraca wartość NetGroupSendResult.SENT, jeśli wybrany był co najmniej jeden sąsiad.

Więcej informacji o routingu wiadomości zawiera dokument Kierowanie wiadomości bezpośrednio do odbiorcy na stronie Flash Media Server — Podręcznik dla programistów.

Gdy węzeł odbiera komunikat, do detektora zdarzeń obiektu NetGroup wysyłane jest zdarzenie NetStatusEvent z wartością NetGroup.SendTo.Notify we właściwości code obiektu info.

UWAGA: przed wywołaniem tej metody należy wykryć zdarzenie NetGroup.Neighbor.Connect.

Parametry

message:Object — Komunikat do wysłania.

Zwraca
String — Właściwość należąca do klasy wyliczeniowej NetGroupSendResult, wskazująca na powodzenie lub niepowodzenie operacji wysyłania.

Powiązane elementy interfejsu API

sendToNearest

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Wysyła komunikat do sąsiada (lub węzła lokalnego) najbliższego określonemu adresowi grupowemu. Powoduje, że brani są pod uwagę sąsiedzi z całego pierścienia. Zwraca wartość NetGroupSendResult.SENT, jeśli komunikat został pomyślnie wysłany w kierunku celu.

Więcej informacji o routingu wiadomości zawiera dokument Kierowanie wiadomości bezpośrednio do odbiorcy na stronie Flash Media Server — Podręcznik dla programistów.

Gdy węzeł odbiera komunikat, do detektora zdarzeń obiektu NetGroup wysyłane jest zdarzenie NetStatusEvent z wartością NetGroup.SendTo.Notify we właściwości code obiektu info.

UWAGA: przed wywołaniem tej metody należy wykryć zdarzenie NetGroup.Neighbor.Connect.

Parametry

message:Object — Komunikat do wysłania.
 
groupAddress:String — Adres grupowy, do którego ma być skierowany komunikat.

Zwraca
String — Właściwość należąca do klasy wyliczeniowej NetGroupSendResult, wskazująca na powodzenie lub niepowodzenie operacji wysyłania.

Powiązane elementy interfejsu API

sendToNeighbor

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Wysyła komunikat do sąsiada określonego w parametrze sendMode. Zwraca wartość NetGroupSendResult.SENT, jeśli komunikat został pomyślnie wysłany do żądanego celu.

Więcej informacji o routingu wiadomości zawiera dokument Kierowanie wiadomości bezpośrednio do odbiorcy na stronie Flash Media Server — Podręcznik dla programistów.

Gdy węzeł odbiera komunikat, do detektora zdarzeń obiektu NetGroup wysyłane jest zdarzenie NetStatusEvent z wartością NetGroup.SendTo.Notify we właściwości code obiektu info.

UWAGA: przed wywołaniem tej metody należy wykryć zdarzenie NetGroup.Neighbor.Connect.

Parametry

message:Object — Komunikat do wysłania.
 
sendMode:String — Właściwość klasy wyliczeniowej NetGroupSendMode określająca sąsiada, do którego ma być wysłany komunikat.

Zwraca
String — Właściwość należąca do klasy wyliczeniowej NetGroupSendResult, wskazująca na powodzenie lub niepowodzenie operacji wysyłania.

Powiązane elementy interfejsu API

writeRequestedObject

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Zaspokaja żądanie odebrane w zdarzeniu NetGroup.Replication.Request obiektu NetStatusEvent dotyczące obiektu anonsowanego wcześniej za pomocą metody addHaveObjects(). Obiekt object może należeć do jednego z następujących typów: Object, int, Number i String. Obiekt object nie może należeć do typu MovieClip.

Dodatkowe informacje o replikacji obiektów zawiera dokument Replikacja obiektu w obrębie grupy na stronie Flash Media Server — Podręcznik dla programistów.

UWAGA: przed wywołaniem tej metody należy wykryć zdarzenie NetGroup.Neighbor.Connect.

Parametry

requestID:int — Identyfikator żądania podany w zdarzeniu NetGroup.Replication.Request.
 
object:Object — Obiekt odpowiadający indeksowi podanemu w zdarzeniu NetGroup.Replication.Request.

Powiązane elementy interfejsu API

Szczegół zdarzenia

netStatus

Zdarzenie
Typ obiektu zdarzenia: flash.events.NetStatusEvent
właściwość NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 10.1

Dysponowana, gdy obiekt NetGroup zgłasza swój status lub stan błędu. Zdarzenie netStatus zawiera właściwość info. Właściwość info jest obiektem zawierającym informacje o zdarzeniu, np. o tym, czy próba połączenia powiodła się, czy nie.

Definiuje wartość właściwości type obiektu zdarzenia netStatus.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
infoObiekt z właściwościami opisującymi stan obiektu lub warunek błędu.
targetObiekt NetConnection lub NetStream informujący o swoim stanie.

Powiązane elementy interfejsu API

NetGroupExample.as

To jest prosta aplikacja do komunikacji wideo oparta na sieci równorzędnej (P2P). Aplikacja nawiązuje połączenie z oprogramowaniem Flash Media Server za pośrednictwem protokołu RTMFP. Serwer przechowuje cyfrowe „odciski palców” aplikacji klienckich i zarządza grupą komputerów równorzędnych podczas nawiązywania połączeń przez oprogramowanie klienckie. Jednak wszystkie dane są przesyłane między klientami (komputerami równorzędnymi) — dane nie są przesyłane z powrotem na serwer.

Po uruchomieniu aplikacji można wprowadzić dowolną nazwę grupy do wejściowego pola tekstowego. W klasie GroupSpecifier nazwa (razem z dowolną ustawioną przez użytkownika właściwością GroupSpecifier) jest używana w celu utworzenia ciągu znaków, który pozostanie na stałe unikalną nazwą grupy. Aby przyłączyć kolejnego klienta do grupy, klient musi użyć tej samej nazwy grupy. Na przykład, jeśli klient A użyje nazwy grupy "firstmesh", pozostałe klienty, chcąc komunikować się z klientem A, również muszą użyć nazwy grupy "firstmesh". Jeśli klient B użyje nazwy grupy "kite", wówczas połączenie zostanie nawiązane pomyślnie, ale zostanie utworzona nowa grupa i klient B nie będzie mógł się komunikować z klientem A, ani z żadnym innym klientem z grupy "firstmesh".


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

                    netStream.attachAudio(mic);

                    StatusMessage("got microphone\n");
                }

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

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

                    netStream.attachCamera(camera);

                    StatusMessage("got camera\n");
                }

                netStream.publish("stream");
            }

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

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

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

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

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

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

                netGroup.post(message);

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

                chatText.callLater(ClearChatText);
            }

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

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

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

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

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

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

</mx:Application>




[ X ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.