Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: 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 タグ
使用されなくなったエレメントのリスト
Accessibility Implementation 定数
ActionScript の例の使用方法
法律上の注意
パッケージflash.net
クラスpublic class NetGroup
継承NetGroup Inheritance EventDispatcher Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP グループ内のメンバーシップを表す NetGroup クラスのインスタンス。このクラスを使用して、次の操作を行います。
  • サービスの質(QoS)の監視info プロパティには、NetGroupInfo オブジェクトが含まれており、このオブジェクトのプロパティによってこのグループの QoS 統計が提供されます。
  • ポスティング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 によってすべてのイベントが送出されます。

ピアー対応ネットワークにおけるグループの使用について詳しくは、同じく Tom Krcha による Social Media Experiences with Flash Media and RTMFP を参照してください。

ピアー対応ネットワークの背景にある技術的な詳細については、Adobe コンピューターサイエンティストの Matthew Kaufman による P2P on the Flash Platform with RTMFP を参照してください。

例を表示

関連する API エレメント



パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。
Object
  estimatedMemberCount : Number
[読み取り専用] ローカルネイバーフッドの密度に基づき、グループアドレスが均等に分配されることを前提にして、グループの推定メンバー数を指定します。
NetGroup
  info : NetGroupInfo
[読み取り専用] NetGroupInfo オブジェクトを返します。このオブジェクトのプロパティに、NetGroup の RTMFP ピアーツーピアーデータ転送に関するサービスの質(QoS)の統計が示されます。
NetGroup
  localCoverageFrom : String
[読み取り専用] このノードが「最も近く」にあって管理しているグループアドレスの範囲の始まりを指定します。
NetGroup
  localCoverageTo : String
[読み取り専用] このノードが「最も近く」にあって管理しているグループアドレスの範囲の終わりを指定します。
NetGroup
  neighborCount : Number
[読み取り専用] このノードが直接接続されているグループメンバーの数を指定します。
NetGroup
  receiveMode : String
NetGroupReceiveMode enum クラスの値の 1 つとして、ノードの配信受信モードを指定します。
NetGroup
  replicationStrategy : String
オブジェクトレプリケーションのフェッチ方法を指定します。
NetGroup
パブリックメソッド
 メソッド定義元
  
NetGroup(connection:NetConnection, groupspec:String)
指定された NetConnection オブジェクトに新しい NetGroup を構築し、それを 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
  
以前に addHaveObjects() でアドバタイズされたオブジェクトの NetStatusEvent NetGroup.Replication.Request で受信した要求を拒否します。
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
以前に addHaveObjects() メソッドで通知したオブジェクトの NetStatusEvent NetGroup.Replication.Request で受信した要求を満たします。
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 オブジェクトを返します。このオブジェクトのプロパティに、NetGroup の RTMFP ピアーツーピアーデータ転送に関するサービスの質(QoS)の統計が示されます。



実装
    public function get info():NetGroupInfo

関連する API エレメント

localCoverageFrom

プロパティ 
localCoverageFrom:String  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

このノードが「最も近く」にあって管理しているグループアドレスの範囲の始まりを指定します。この範囲は、増分方向でグループアドレス ring mod 2256 によって指定されます。



実装
    public function get localCoverageFrom():String

関連する API エレメント

localCoverageTo

プロパティ 
localCoverageTo:String  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

このノードが「最も近く」にあって管理しているグループアドレスの範囲の終わりを指定します。この範囲は、増分方向でグループアドレス ring mod 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 enum クラスの値の 1 つとして、ノードの配信受信モードを指定します。



実装
    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 クラスに列挙された値の 1 つです。



実装
    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

指定された NetConnection オブジェクトに新しい NetGroup を構築し、それを groupspec で指定されたグループに結合します。

ほとんどの場合、groupspec にはローカルシステムでネットワークアップリンクを使用する可能性があります。NetStream または NetGroup オブジェクトが groupspec を使用して構築されている場合、プライバシーダイアログが表示されます。このダイアログにより、この接続をユーザーのピアーとのデータ共有に使用できるかどうかが確認されます。ユーザーが「このドメインでの使用を許可する」をクリックすると、次回ユーザーがこのアプリケーションに接続するときにこのダイアログは表示されません。ピアー対応ネットワークを許可しなかった場合、グループ内のピアー機能(ポスティング、転送、オブジェクトレプリケーションおよびマルチキャスト)はすべて無効になります。許可された場合、info オブジェクトの code プロパティの NetGroup.Connect.Success によって、NetStatusEvent が NetConnection のイベントリスナーに送信されます。拒否された場合、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 Developer’s Guide』の「Replicate an object within a group」を参照してください。

このメソッドは NetStatusEvent を info オブジェクトの code プロパティの NetGroup.Replication.Request で NetGroup のイベントリスナーに送信します。

注意:このメソッドを呼び出す前に、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 Developer’s Guide』の「Replicate an object within a group」を参照してください。

このメソッドは、info.code プロパティでNetGroup.Replication.Fetch.SendNotify が指定されている NetStatusEvent を、NetGroup のイベントリスナーに送信します。このイベントの後には、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

以前に addHaveObjects() でアドバタイズされたオブジェクトの NetStatusEvent NetGroup.Replication.Request で受信した要求を拒否します。この要求が Have セットから取り下げられない限り、または取り下げられるまで、要求元によってこのオブジェクトが再び要求される可能性があります。

オブジェクトのレプリケーションについて詳しくは、『Flash Media Server Developer’s Guide』の「Replicate an object within a group」を参照してください。

注意:このメソッドを呼び出す前に、NetGroup.Neighbor.Connect イベントをテストしてください。

パラメーター

requestID:intNetGroup.Replication.Request イベントで提供される要求識別子。

関連する API エレメント

post

()メソッド 
public function post(message:Object):String

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

グループ内のすべてのメンバーにメッセージを送信します。このメソッドを呼び出すには、NetGroup コンストラクターに渡される groupspec 内で、GroupSpecifier.postingEnabled プロパティが true に設定されている必要があります。詳細については、『Flash Media Server Developer’s Guide』の「Post messages to a group」を参照してください。

すべてのメッセージは一意である必要があり、以前にアップロードされたメッセージと同一のメッセージはアップロードされない場合があります。シーケンス番号を使用して、メッセージを一意にします。

メッセージの配信は順序付けられません。メッセージの配信は保証されません。

メッセージは AMF でシリアル化されます。メッセージの型は、Object、int、Number、String のいずれかです。メッセージは MovieClip にはできません。

このメソッドは NetStatusEvent を info.code プロパティの NetGroup.Posting.Notify で NetGroup のイベントリスナーに送信します。「NetGroup.Posting.Notify」イベントは、クライアント上とサーバー上の両方の NetGroup に送信されます。

注意:このメソッドを呼び出す前に、NetGroup.Neighbor.Connect イベントをテストしてください。

パラメーター

message:Object — グループ内の他のすべてのメンバーに送信するメッセージ。

戻り値
String — アップロードされた場合のメッセージの messageID です。エラーの場合は null になります。messageID はメッセージを直列化した raw バイトの 16 進数の SHA256 です。

関連する API エレメント


例  ( この例の使用方法 )

これは、ピアーツアーピアーネットワークを使用するシンプルなテキストチャットアプリケーションです。アプリケーションは RTMFP で Flash Media Server に接続します。サーバーは、クライアントアプリケーションのフィンガープリントを保存し、クライアントの接続時にピアーグループを管理します。ただし、すべてのデータはクライアント(ピアー)間でやり取りされ、サーバーへは戻されません。

アプリケーションの実行時に、テキスト入力フィールドに任意のグループ名を入力できます。GroupSpecifier クラスはこのグループ名(および設定済みの GroupSpecifier プロパティ)を使用して、グループの永続的な固有名となるストリングを作成します。他のクライアントをグループに接続するには、そのクライアントも同じグループ名を使用する必要があります。例えば、クライアント A が「firstmesh」というグループ名を使用する場合、クライアント A と通信したい他のクライアントも、グループ名「firstmesh」を使用する必要があります。クライアント B が「kite」というグループ名を使用している場合、接続は成功しますが、新しいグループが作成され、クライアント B はクライアント A および「firstmesh」グループに属する他のクライアントとは通信できません。

この例を実行するには、Button、Label、TextInput、TextArea の各コンポーネントを Flash Professional のライブラリに追加します。



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 Developer’s Guide』の「Replicate an object within a group」を参照してください。

注意:このメソッドを呼び出す前に、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 Developer’s Guide』の「Replicate an object within a group」を参照してください。

注意:このメソッドを呼び出す前に、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

すべてのネイバーにメッセージを送信します。1 つ以上のネイバーが選択された場合、NetGroupSendResult.SENT を返します。

メッセージのルーティングについて詳しくは、『Flash Media Server Developer’s Guide』の「Route messages directly to a peer」を参照してください。

ノードがメッセージを受信すると、NetStatusEvent が info オブジェクトの code プロパティの NetGroup.SendTo.Notify オブジェクトで NetGroup のイベントリスナーに送信されます。

注意:このメソッドを呼び出す前に、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 Developer’s Guide』の「Route messages directly to a peer」を参照してください。

ノードがメッセージを受信すると、NetStatusEvent が info オブジェクトの code プロパティの NetGroup.SendTo.Notify オブジェクトで NetGroup のイベントリスナーに送信されます。

注意:このメソッドを呼び出す前に、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 Developer’s Guide』の「Route messages directly to a peer」を参照してください。

ノードがメッセージを受信すると、NetStatusEvent が info オブジェクトの code プロパティの NetGroup.SendTo.Notify オブジェクトで NetGroup のイベントリスナーに送信されます。

注意:このメソッドを呼び出す前に、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

以前に addHaveObjects() メソッドで通知したオブジェクトの NetStatusEvent NetGroup.Replication.Request で受信した要求を満たします。object には、Object、int、Number、String のいずれかを使用できます。object には MovieClip は指定できません。

オブジェクトのレプリケーションについて詳しくは、『Flash Media Server Developer’s Guide』の「Replicate an object within a group」を参照してください。

注意:このメソッドを呼び出す前に、NetGroup.Neighbor.Connect イベントをテストしてください。

パラメーター

requestID:intNetGroup.Replication.Request イベントで提供される要求識別子。
 
object:ObjectNetGroup.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

これは、ピアーツアーピアーネットワークを使用するシンプルなビデオチャットアプリケーションです。アプリケーションは RTMFP で Flash Media Server に接続します。サーバーは、クライアントアプリケーションのフィンガープリントを保存し、クライアントの接続時にピアーグループを管理します。ただし、すべてのデータはクライアント(ピアー)間でやり取りされ、サーバーへは戻されません。

アプリケーションの実行時に、テキスト入力フィールドに任意のグループ名を入力できます。GroupSpecifier クラスはこのグループ名(および設定済みの GroupSpecifier プロパティ)を使用して、グループの永続的な固有名となるストリングを作成します。他のクライアントをグループに接続するには、そのクライアントも同じグループ名を使用する必要があります。例えば、クライアント A が「firstmesh」というグループ名を使用する場合、クライアント A と通信したい他のクライアントも、グループ名「firstmesh」を使用する必要があります。クライアント B が「kite」というグループ名を使用している場合、接続は成功しますが、新しいグループが作成され、クライアント B はクライアント 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 クラスは英語で表示されます。