Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: AIR 30.0 или более ранней версии, Flash Player 30.0 или более ранней версии, Flash Lite 4
Flex 4.6 или более ранней версии, Flash Pro CS6 или более ранней версии
Скрыть фильтры
flash.net 

NetGroup  - AS3

Пакетыx

Верхний уровень
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

Элементы языка

Глобальные константы
Глобальные функции
Операторы
Инструкции, ключевые слова и директивы
Специальные типы

Приложения

Новые возможности
Ошибки компилятора
Предупреждения компилятора
Ошибки времени выполнения
Миграция ActionScript 3
Поддерживаемые наборы символов
Только MXML
Элементы движения XML
Теги Timed Text
устаревший_индекс
Константы реализации специальных возможностей
Использование примеров
Юридическая информация
Пакетflash.net
Классpublic class NetGroup
НаследованиеNetGroup Inheritance EventDispatcher Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Экземпляры класса NetGroup представляют членство в группе RTMFP. Этот класс позволяет выполнять следующие операции.
  • Отслеживание качества обслуживания. Свойство info содержит объект NetGroupInfo, свойства которого предоставляют статистические данные о качестве обслуживания для этой группы.
  • Публикация. Вызовите метод post() для рассылки сообщений ActionScript всем членам группы.
  • Прямая маршрутизация. Вызовите методы sendToNearest(), sendToNeighbor() и sendToAllNeighbors() для отправки короткого сообщения с данными определенному члену одноранговой группы. Между отправителем и получателем не требуется прямое соединение.
  • Репликация объектов. Вызовите метод addHaveObjects(), removeHaveObjects(), addWantObjects(), removeWantObjects(), writeRequestedObject() и denyRequestedObject(), чтобы разбить большой объем на части и продублировать их для всех узлов в одноранговой группе.

В клиентском классе NetGroup объект NetConnection отправляет следующие события:

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

Свойство info.group объекта события содержит ссылку на исходное событие (NetGroup). Объект NetGroup отправляет все остальные события. В серверном классе NetGroup объект NetGroup отправляет все события.

Сведения об использовании групп в одноранговой связи см. в статье Social Media Experiences with Flash Media and RTMFP (Социальная сеть с применением Flash Media и RTMFP, на английском языке) Тома Крча (Tom Krcha).

Сведения о технической стороне одноранговой связи см. в статье P2P on the Flash Platform with RTMFP (Одноранговая связь на платформе Flash с RTMFP, на английском языке) Мэтью Кауфмана (Matthew Kaufman), специалиста Adobe в области информационных технологий.

Посмотреть примеры

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  estimatedMemberCount : Number
[только для чтения] Указывает предполагаемое число членов группы, исходя из плотности локального сетевого окружения и равномерного распределения групповых адресов.
NetGroup
  info : NetGroupInfo
[только для чтения] Возвращает объект NetGroupInfo, свойства которого предоставляют статистику по качеству обслуживания, связанную с передачей данных между одноранговыми узлами RTMFP данного объекта NetGroup.
NetGroup
  localCoverageFrom : String
[только для чтения] Определяет начало диапазона групповых адресов, для которого этот узел является «ближайшим» и ответственным.
NetGroup
  localCoverageTo : String
[только для чтения] Определяет конец диапазона групповых адресов, для которого этот узел является «ближайшим» и ответственным.
NetGroup
  neighborCount : Number
[только для чтения] Указывает число членов группы, к которым непосредственно подключен данный узел.
NetGroup
  receiveMode : String
Определяет режим получения маршрутизации данного узла как одно из значений класса перечисления NetGroupReceiveMode.
NetGroup
  replicationStrategy : String
Определяет стратегию получения для репликации объектов.
NetGroup
Общедоступные методы
 МетодОпределено
  
NetGroup(connection:NetConnection, groupspec:String)
Создает объект NetGroup в указанном объекте NetConnection и добавляет его в группу, определенную в groupspec.
NetGroup
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии.
EventDispatcher
  
addHaveObjects(startIndex:Number, endIndex:Number):void
Добавляет объекты с индексами от startIndex до endIndex включительно в набор объектов, которые этот узел объявляет для соседей как объекты, для которых он отправляет запросы.
NetGroup
  
Вручную добавляет запись, определяющую то, что peerID является членом группы.
NetGroup
  
Вручную добавляет соседний узел путем немедленного подключения непосредственно к указанному peerID, который уже должен быть добавлен в эту группу.
NetGroup
  
addWantObjects(startIndex:Number, endIndex:Number):void
Добавляет объекты с индексами от startIndex до endIndex включительно в набор объектов, которые требуется получить.
NetGroup
  
Отключите от группы и закройте этот объект NetGroup.
NetGroup
  
Преобразует peerID в групповой адрес, пригодный для использования вместе с методом sendToNearest().
NetGroup
  
Отклоняет полученный в событии NetStatusEvent NetGroup.Replication.Request запрос на объект, объявленный ранее с помощью метода addHaveObjects().
NetGroup
 Inherited
Посылает событие в поток событий.
EventDispatcher
 Inherited
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
post(message:Object):String
Отправляет сообщение всем членам группы.
NetGroup
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
  
removeHaveObjects(startIndex:Number, endIndex:Number):void
Удаляет объекты с индексами от startIndex до endIndex включительно из набора объектов, которые этот узел объявляет для соседей как объекты, для которых он отправляет запросы.
NetGroup
  
removeWantObjects(startIndex:Number, endIndex:Number):void
Удаляет объекты с индексами от startIndex до endIndex включительно из набора объектов, которые требуется получить.
NetGroup
  
Отправляет сообщение всем соседним узлам.
NetGroup
  
sendToNearest(message:Object, groupAddress:String):String
Отправляет сообщение соседу (или локальному узлу), который находится ближе всего к указанному адресу группы.
NetGroup
  
sendToNeighbor(message:Object, sendMode:String):String
Отправляет сообщение соседнему узлу, определенному параметром sendMode.
NetGroup
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником.
EventDispatcher
  
writeRequestedObject(requestID:int, object:Object):void
Выполняет полученный объектом NetStatusEvent NetGroup.Replication.Request запрос на объект, объявленный ранее с помощью метода addHaveObjects().
NetGroup
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным.EventDispatcher
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным.EventDispatcher
  Отправляется, когда объект NetGroup сообщает о своем состоянии или о случившейся ошибке.NetGroup
Сведения о свойстве

estimatedMemberCount

свойство
estimatedMemberCount:Number  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Указывает предполагаемое число членов группы, исходя из плотности локального сетевого окружения и равномерного распределения групповых адресов.



Реализация
    public function get estimatedMemberCount():Number

Связанные элементы API

info

свойство 
info:NetGroupInfo  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Возвращает объект NetGroupInfo, свойства которого предоставляют статистику по качеству обслуживания, связанную с передачей данных между одноранговыми узлами RTMFP данного объекта NetGroup.



Реализация
    public function get info():NetGroupInfo

Связанные элементы API

localCoverageFrom

свойство 
localCoverageFrom:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Определяет начало диапазона групповых адресов, для которого этот узел является «ближайшим» и ответственным. Диапазон указывается по возрастанию вместе с кругом групповых адресов по модулю 2256.



Реализация
    public function get localCoverageFrom():String

Связанные элементы API

localCoverageTo

свойство 
localCoverageTo:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Определяет конец диапазона групповых адресов, для которого этот узел является «ближайшим» и ответственным. Диапазон указывается по возрастанию вместе с кругом групповых адресов по модулю 2256.



Реализация
    public function get localCoverageTo():String

Связанные элементы API

neighborCount

свойство 
neighborCount:Number  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Указывает число членов группы, к которым непосредственно подключен данный узел.



Реализация
    public function get neighborCount():Number

Связанные элементы API

receiveMode

свойство 
receiveMode:String

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Определяет режим получения маршрутизации данного узла как одно из значений класса перечисления NetGroupReceiveMode.



Реализация
    public function get receiveMode():String
    public function set receiveMode(value:String):void

Связанные элементы API

replicationStrategy

свойство 
replicationStrategy:String

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Определяет стратегию получения для репликации объектов. Выражен одним из значений, перечисленных в классе NetGroupReplicationStrategy.



Реализация
    public function get replicationStrategy():String
    public function set replicationStrategy(value:String):void

Связанные элементы API

Сведения о конструкторе

NetGroup

()Конструктор
public function NetGroup(connection:NetConnection, groupspec:String)

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Создает объект NetGroup в указанном объекте NetConnection и добавляет его в группу, определенную в groupspec.

В большинстве случаев groupspec обеспечивает возможность использования исходящего сетевого соединения в локальной системе. Когда объект NetStream или NetGroup создается с использованием groupspec, Flash Player отображает диалоговое окно «Конфиденциальность». Это окно содержит запрос о том, может ли проигрыватель Flash Player использовать подключение для предоставления одноранговым узлам общего доступа к данным. Если пользователь нажимает кнопку «Разрешить для этого домена», это диалоговое окно не появляется при следующем подключении пользователя к этому приложению. Если пользователь не разрешает одноранговую связь, все связанные с ней функции группы (публикация, направленная маршрутизация, репликация объектов и многоадресная рассылка) выключаются. Если разрешение предоставляется, объект NetStatusEvent отправляется прослушивателю событий экземпляра NetConnection, при этом свойству code объекта info задается значение NetGroup.Connect.Success. Если разрешение не предоставлено, свойству code задается значение NetGroup.Connect.Rejected. Пока не получено событие NetGroup.Connect.Success, в ответ на любую попытку вызвать метод объекта NetGroup выдается исключение.

Примечание. Когда клиент подписывается на многоадресный поток с собственным IP-адресом, предупреждение системы безопасности не появляется.

Параметры
connection:NetConnection — Объект NetConnection
 
groupspec:String — Строка, определяющая одноранговую группу RTMFP, в которую требуется добавить объект, и включающая имя, возможности, ограничения и авторизации данного члена.
     new NetGroup(myConnection, myGroupSpecifier.groupspecWithAuthorizations());
     

Выдает
ArgumentError — Экземпляр NetConnection не подключен.
 
Error — Недопустимый groupspec.

Связанные элементы API

Сведения о методе

addHaveObjects

()метод
public function addHaveObjects(startIndex:Number, endIndex:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Добавляет объекты с индексами от startIndex до endIndex включительно в набор объектов, которые этот узел объявляет для соседей как объекты, для которых он отправляет запросы. По умолчанию набор доступных объектов (Have) пустой. Индексы должны быть целыми числами от 0 до 9007199254740992.

Дополнительные сведения о репликации объектов см. в разделе «Репликация объекта в группе» в Руководстве разработчика Flash Media Server.

Этот метод отправляет объект NetStatusEvent прослушивателю событий экземпляра NetGroup, при этом свойству code объекта info задается значение "NetGroup.Replication.Request".

ПРИМЕЧАНИЕ. Проверьте событие NetGroup.Neighbor.Connect перед вызовом этого метода.

Параметры

startIndex:Number — Начало диапазона индексов объектов для добавления в набор доступных (Have).
 
endIndex:Number — Конец диапазона индексов объектов для добавления в набор доступных (Have).


Выдает
RangeError — Число, передаваемое к этому методу, меньше 0 или больше 9007199254740992.

Связанные элементы API

addMemberHint

()метод 
public function addMemberHint(peerID:String):Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Вручную добавляет запись, определяющую то, что peerID является членом группы. Незамедлительная попытка подключения предпринимается, только если это необходимо для топологии.

Параметры

peerID:String — peerID, который необходимо добавить в набор потенциальных соседних узлов.

Возвращает
Boolean — TRUE обозначает успешное выполнение, FALSE — ошибку.

Связанные элементы API

addNeighbor

()метод 
public function addNeighbor(peerID:String):Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Вручную добавляет соседний узел путем немедленного подключения непосредственно к указанному peerID, который уже должен быть добавлен в эту группу. Это прямое подключение можно разорвать позднее, если оно не требуется для топологии.

Параметры

peerID:String — peerID, к которому следует немедленно подключиться.

Возвращает
Boolean — TRUE обозначает успешное выполнение, FALSE — ошибку.

Связанные элементы API

addWantObjects

()метод 
public function addWantObjects(startIndex:Number, endIndex:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Добавляет объекты с индексами от startIndex до endIndex включительно в набор объектов, которые требуется получить. Индексы должны быть целыми числами от 0 до 9007199254740992. По умолчанию набор запрашиваемых объектов (Want) пустой.

Дополнительные сведения о репликации объектов см. в разделе «Репликация объекта в группе» в Руководстве разработчика Flash Media Server.

Этот метод отправляет объект NetStatusEvent прослушивателю событий экземпляра NetGroup, при этом свойству info.code задается значение NetGroup.Replication.Fetch.SendNotify. Вслед за этим событием отправляется событие NetGroup.Replication.Fetch.Failed или NetGroup.Replication.Fetch.Result.

ПРИМЕЧАНИЕ. Проверьте событие NetGroup.Neighbor.Connect перед вызовом этого метода.

Параметры

startIndex:Number — Начало диапазона индексов объектов для добавления в набор запрашиваемых (Want).
 
endIndex:Number — Конец диапазона индексов объектов для добавления в набор запрашиваемых (Want).


Выдает
RangeError — Число, передаваемое к этому методу, меньше 0 или больше 9007199254740992.

Связанные элементы API

close

()метод 
public function close():void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Отключите от группы и закройте этот объект NetGroup. Этот объект NetGroup нельзя использовать после вызова этого метода.

convertPeerIDToGroupAddress

()метод 
public function convertPeerIDToGroupAddress(peerID:String):String

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Преобразует peerID в групповой адрес, пригодный для использования вместе с методом sendToNearest().

Параметры

peerID:String — Преобразуемое значение peerID.

Возвращает
String — Групповой адрес для peerID.

Связанные элементы API

denyRequestedObject

()метод 
public function denyRequestedObject(requestID:int):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Отклоняет полученный в событии NetGroup.Replication.Request класса NetStatusEvent запрос на объект, объявленный ранее с помощью метода addHaveObjects(). Запрашивающая сторона может отправить еще одно требование, пока или если он не будет получен из набора доступных (Have).

Дополнительные сведения о репликации объектов см. в разделе «Репликация объекта в группе» в Руководстве разработчика Flash Media Server.

ПРИМЕЧАНИЕ. Проверьте событие NetGroup.Neighbor.Connect перед вызовом этого метода.

Параметры

requestID:int — Идентификатор запроса, указанный в событии NetGroup.Replication.Request.

Связанные элементы API

post

()метод 
public function post(message:Object):String

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Отправляет сообщение всем членам группы. Чтобы вызвать этот метод, в объекте groupspec, которое передается конструктору NetGroup, для свойства GroupSpecifier.postingEnabled необходимо задать значение true. Дополнительные сведения см. в разделе «Публикация сообщений в группе» в Руководстве разработчика Flash Media Server.

Все сообщения должны быть уникальными. Сообщения, идентичные опубликованным ранее, могут не отправляться. Используйте порядковый номер, чтобы сделать сообщение уникальными.

Доставка сообщений выполняется не по порядку. Доставка сообщений не гарантируется.

Сериализация сообщений выполняется в AMF. Сообщение может относиться к одному из следующих типов: объект, целое число, число или строка. Сообщение не может быть экземпляром MovieClip.

Этот метод отправляет объект NetStatusEvent прослушивателю событий экземпляра NetGroup, при этом свойству info.code задается значение "NetGroup.Posting.Notify". Событие "NetGroup.Posting.Notify" отправляется экземпляру NetGroup и клиента и сервера.

ПРИМЕЧАНИЕ. Проверьте событие NetGroup.Neighbor.Connect перед вызовом этого метода.

Параметры

message:Object — Сообщение для отправки всем остальным членам группы.

Возвращает
String — Идентификатор messageID сообщения, если оно отправлено, или null в случае ошибки. Идентификатор messageID — это шестнадцатеричное представление хэш-функции SHA256 для необработанных байтов сериализации сообщения.

Связанные элементы API


Пример  ( Использование этого примера )

Это простое приложение для видеочата, в котором используется одноранговая сеть. Программа подключается к серверу Flash Media Server по протоколу RTMFP. Сервер сохраняет контрольные суммы клиентских программ и управляет группой одноранговых пользователей по мере подключения клиентов. Однако все данные, отправляемые между клиентами (одноранговыми узлами), не отправляются назад на сервер.

Запустив это приложение, в текстовом поле ввода можно указать любое имя группы. Класс GroupSpecifier использует это имя (наряду с любыми заданными свойствами GroupSpecifier) для создания строки, которая является постоянно уникальным именем группы. Чтобы другой клиент мог подключиться к группе, он должен использовать то же самое имя группы. Например, если клиент A использует имя группы firstmesh, другие клиенты, которые хотят общаться с ним, также должны использовать имя группы firstmesh. Если клиент B использует имя группы kite, он сможет подключится, но при этом будет создана новая группы, и он не сможет общаться с клиентом A или другими членами группы firstmesh.

Для выполнения этого примера добавьте по одному компоненту Button, Label, TextInput и TextArea в библиотеку 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

()метод 
public function removeHaveObjects(startIndex:Number, endIndex:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Удаляет объекты с индексами от startIndex до endIndex включительно из набора объектов, которые этот узел объявляет для соседей как объекты, для которых он отправляет запросы. Индексы должны быть целыми числами от 0 до 9007199254740992.

Дополнительные сведения о репликации объектов см. в разделе «Репликация объекта в группе» в Руководстве разработчика Flash Media Server.

ПРИМЕЧАНИЕ. Проверьте событие NetGroup.Neighbor.Connect перед вызовом этого метода.

Параметры

startIndex:Number — Начало диапазона индексов объектов для удаления из набора доступных (Have).
 
endIndex:Number — Конец диапазона индексов объектов для удаления из набора доступных (Have).


Выдает
RangeError — Число, передаваемое к этому методу, меньше 0 или больше 9007199254740992.

Связанные элементы API

removeWantObjects

()метод 
public function removeWantObjects(startIndex:Number, endIndex:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Удаляет объекты с индексами от startIndex до endIndex включительно из набора объектов, которые требуется получить. Индексы должны быть целыми числами от 0 до 9007199254740992.

Дополнительные сведения о репликации объектов см. в разделе «Репликация объекта в группе» в Руководстве разработчика Flash Media Server.

ПРИМЕЧАНИЕ. Проверьте событие NetGroup.Neighbor.Connect перед вызовом этого метода.

Параметры

startIndex:Number — Начало диапазона индексов объектов для удаления из набора запрашиваемых (Want).
 
endIndex:Number — Конец диапазона индексов объектов для удаления из набора запрашиваемых (Want).


Выдает
RangeError — Число, передаваемое к этому методу, меньше 0 или больше 9007199254740992.

Связанные элементы API

sendToAllNeighbors

()метод 
public function sendToAllNeighbors(message:Object):String

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Отправляет сообщение всем соседним узлам. Возвращает NetGroupSendResult.SENT, если выделен хотя бы один соседний узел.

Дополнительные сведения о передаче сообщений см. в разделе «Передача сообщений непосредственно одноранговому клиенту» в Руководстве разработчика Flash Media Server.

Когда узел получает сообщение, объект NetStatusEvent отправляется прослушивателю событий экземпляра NetGroup, при этом свойству code объекта info задается значение NetGroup.SendTo.Notify.

ПРИМЕЧАНИЕ. Проверьте событие NetGroup.Neighbor.Connect перед вызовом этого метода.

Параметры

message:Object — Сообщение для отправки.

Возвращает
String — Свойство класса перечисления NetGroupSendResult, которое указывает на успешное или неудачное выполнение отправки.

Связанные элементы API

sendToNearest

()метод 
public function sendToNearest(message:Object, groupAddress:String):String

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Отправляет сообщение соседу (или локальному узлу), который находится ближе всего к указанному адресу группы. Принимает во внимание соседние узлы со всего круга. Возвращает NetGroupSendResult.SENT, если сообщение успешно отправлено адресату.

Дополнительные сведения о передаче сообщений см. в разделе «Передача сообщений непосредственно одноранговому клиенту» в Руководстве разработчика Flash Media Server.

Когда узел получает сообщение, объект NetStatusEvent отправляется прослушивателю событий экземпляра NetGroup, при этом свойству code объекта info задается значение NetGroup.SendTo.Notify.

ПРИМЕЧАНИЕ. Проверьте событие NetGroup.Neighbor.Connect перед вызовом этого метода.

Параметры

message:Object — Сообщение для отправки.
 
groupAddress:String — Групповой адрес, на который должно быть отправлено сообщение.

Возвращает
String — Свойство класса перечисления NetGroupSendResult, которое указывает на успешное или неудачное выполнение отправки.

Связанные элементы API

sendToNeighbor

()метод 
public function sendToNeighbor(message:Object, sendMode:String):String

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Отправляет сообщение соседнему узлу, определенному параметром sendMode. Возвращает NetGroupSendResult.SENT, если сообщение успешно отправлено указанному адресату.

Дополнительные сведения о передаче сообщений см. в разделе «Передача сообщений непосредственно одноранговому клиенту» в Руководстве разработчика Flash Media Server.

Когда узел получает сообщение, объект NetStatusEvent отправляется прослушивателю событий экземпляра NetGroup, при этом свойству code объекта info задается значение NetGroup.SendTo.Notify.

ПРИМЕЧАНИЕ. Проверьте событие NetGroup.Neighbor.Connect перед вызовом этого метода.

Параметры

message:Object — Сообщение для отправки.
 
sendMode:String — Свойство класса перечисления NetGroupSendMode, указывающее соседний узел, которому требуется отправить сообщение.

Возвращает
String — Свойство класса перечисления NetGroupSendResult, которое указывает на успешное или неудачное выполнение отправки.

Связанные элементы API

writeRequestedObject

()метод 
public function writeRequestedObject(requestID:int, object:Object):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Выполняет полученный объектом NetStatusEvent NetGroup.Replication.Request запрос на объект, объявленный ранее с помощью метода addHaveObjects(). Свойство object может относиться к одному из следующих типов: объект, целое число, число или строка. Свойство object не может быть экземпляром MovieClip.

Дополнительные сведения о репликации объектов см. в разделе «Репликация объекта в группе» в Руководстве разработчика Flash Media Server.

ПРИМЕЧАНИЕ. Проверьте событие NetGroup.Neighbor.Connect перед вызовом этого метода.

Параметры

requestID:int — Идентификатор запроса, указанный в событии NetGroup.Replication.Request.
 
object:Object — Объект с индексом, указанным в событии NetGroup.Replication.Request.

Связанные элементы API

Сведения о событии

netStatus

Событие
Тип объекта события: flash.events.NetStatusEvent
свойство NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 10.1

Отправляется, когда объект NetGroup сообщает о своем состоянии или о случившейся ошибке. Событие netStatus содержит свойство info. Свойство info представляет собой информационный объект, который содержит определенные сведения о событии (например, количество успешных и неудачных попыток подключения).

Задает значение свойства type для объекта события netStatus.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
infoОбъект со свойствами, описывающими состояние объекта или условие ошибки.
targetОбъект NetConnection или NetStream, сообщающий свое состояние.

Связанные элементы API

NetGroupExample.as

Это простое приложение для видеочата, в котором используется одноранговая сеть. Программа подключается к серверу Flash Media Server по протоколу RTMFP. Сервер сохраняет контрольные суммы клиентских программ и управляет группой одноранговых пользователей по мере подключения клиентов. Однако все данные, отправляемые между клиентами (одноранговыми узлами), не отправляются назад на сервер.

Запустив это приложение, в текстовом поле ввода можно указать любое имя группы. Класс GroupSpecifier использует это имя (наряду с любыми заданными свойствами GroupSpecifier) для создания строки, которая является постоянно уникальным именем группы. Чтобы другой клиент мог подключиться к группе, он должен использовать то же самое имя группы. Например, если клиент A использует имя группы firstmesh, другие клиенты, которые хотят общаться с ним, также должны использовать имя группы firstmesh. Если клиент B использует имя группы kite, он сможет подключится, но при этом будет создана новая группы, и он не сможет общаться с клиентом A или другими членами группы 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 ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.