| パッケージ | flash.net |
| クラス | public class XMLSocket |
| 継承 | XMLSocket EventDispatcher Object |
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
XMLSocket.connect()メソッドが接続できる TCP ポートの番号は、1024 以上です。この制限により、XMLSocket オブジェクトと通信するサーバーデーモンにも、1024 以上のポート番号を割り当てる必要があります。1024 未満のポート番号は、FTP、Telnet、HTTP などのシステムサービスによって使用されることが多いため、XMLSocket オブジェクトはセキュリティ上の理由からこれらのポートにアクセスできません。ポート番号の制限により、これらのリソースが不適切にアクセスおよび乱用される可能性が少なくなります。
XMLSocket オブジェクトと通信するようにサーバーを設定すると、問題が発生する可能性があります。アプリケーションがリアルタイムのインタラクティブ機能を必要としない場合は、XMLSocket クラスの代わりに、URLLoader クラスを使用します。XMLSocket クラスのメソッドを使用するには、まず new XMLSocket コンストラクタを使用して XMLSocket オブジェクトを作成する必要があります。
このクラスを使用するときは、Flash Player セキュリティモデルを考慮してください。
詳細については、以下を参照してください。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
| connected : Boolean
[read-only]
この XMLSocket オブジェクトが現在、接続されているかどうかを示します。
| XMLSocket | ||
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| メソッド | 定義元 | ||
|---|---|---|---|
|
新しい XMLSocket オブジェクトを作成します。
| XMLSocket | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
| EventDispatcher | |
|
XMLSocket オブジェクトで指定された接続を閉じます。
| XMLSocket | ||
|
指定された TCP ポートを使用して指定されたインターネットホストへの接続を確立します。
| XMLSocket | ||
![]() |
イベントをイベントフローに送出します。
| EventDispatcher | |
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
| EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() |
指定されたプロパティが存在し列挙できるかどうかを示します。
| Object | |
![]() |
EventDispatcher オブジェクトからリスナーを削除します。
| EventDispatcher | |
|
object パラメータで指定された XML オブジェクトまたはデータをストリングに変換し、その後ろにゼロ (0) バイトを付加してサーバーに転送します。
| XMLSocket | ||
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。
| Object | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| イベント | 概要 | 定義元 | ||
|---|---|---|---|---|
![]() | Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
| サーバーによりソケット接続が閉じられたときに送出されます。 | XMLSocket | |||
| XMLSocket.connect() メソッドの呼び出しが成功したときに送出されます。 | XMLSocket | |||
| 未処理のデータが送受信された後に送出されます。 | XMLSocket | |||
![]() | Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | ||
| 入出力エラーが発生して送信または受信操作が失敗したときに送出されます。 | XMLSocket | |||
| XMLSocket.connect() メソッドの呼び出しによって、呼び出し元のセキュリティサンドボックスの外にあるサーバーや 1024 未満のポート番号に対して接続しようとしたときに送出されます。 | XMLSocket | |||
| connected | プロパティ |
connected:Boolean [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
この XMLSocket オブジェクトが現在、接続されているかどうかを示します。connect イベントと ioError イベントに対して登録を行い、接続が成功したかどうかを調べることもできます。
public function get connected():Boolean
関連項目
| XMLSocket | () | コンストラクタ |
public function XMLSocket(host:String = null, port:int = 0)
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
新しい XMLSocket オブジェクトを作成します。初期状態では、XMLSocket オブジェクトはサーバーに接続されません。オブジェクトをサーバーに接続するには、XMLSocket.connect() メソッドを呼び出す必要があります。
host:String (default = null) — FQDN (完全修飾ドメイン名)、つまり aaa.bbb.ccc.ddd という形式の IP アドレスです。null を指定して、SWF ファイルが存在するホストサーバーに接続することもできます。呼び出し元の SWF ファイルが Web ブラウザ内で実行されている場合は、host が SWF ファイルと同じドメイン内に存在する必要があります。
|
|
port:int (default = 0) — 接続の確立に使用するホスト上の TCP ポート番号です。ポリシーファイルを使用している場合を除き、ポート番号は 1024 以上である必要があります。
|
関連項目
| close | () | メソッド |
public function close():void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
XMLSocket オブジェクトで指定された接続を閉じます。close イベントは、サーバーにより接続が閉じられたときのみ送出されます。close() メソッドを呼び出しても送出されません。
関連項目
| connect | () | メソッド |
public function connect(host:String, port:int):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
指定された TCP ポートを使用して指定されたインターネットホストへの接続を確立します。デフォルトでは、ポリシーファイルを使用していない限り、番号が 1024 以上のポートにのみ接続できます。
null を host パラメータに対して指定した場合は、XMLSocket.connect() を呼び出す SWF ファイルが存在するホストに接続します。たとえば、www.adobe.com から SWF ファイルをダウンロードし、host パラメータに null を指定した場合は、www.adobe.com の IP アドレスを入力した場合と同じ結果となります。
Flash Player 7 より前のバージョンの Player で SWF ファイルを実行している場合、host は、呼び出し元の SWF ファイルと同じスーパードメインに属している必要があります。たとえば、www.adobe.com に置かれた SWF ファイルからは、store.adobe.com にある SWF ファイルに対して変数の送受信を行えます。これは、どちらのファイルも adobe.com という同一のスーパードメインに属するためです。
Flash Player 7 以降で SWF ファイルを実行している場合、host は正確に同じドメインに置かれている必要があります。たとえば、www.adobe.com にある SWF ファイルが Flash Player 5 用にパブリッシュされているにもかかわらず、Flash Player 7 以降で実行されている場合は、このファイルは同様に www.adobe.com に置かれている SWF ファイルに対してのみ、変数の送受信を行えます。別のドメインに対して変数の送受信を行うには、アクセスする SWF ファイルをホストするサーバー上に、クロスドメインポリシーファイルを配置します。
SWF ファイルがこのメソッドを使用しないようにするには、SWF コンテンツを含んでいる HTML ページに allowNetworking パラメータ (object タグおよび embed タグ) を設定します。
詳細については、以下を参照してください。
パラメータ
host:String — FQDN (完全修飾ドメイン名)、つまり aaa.bbb.ccc.ddd という形式の IP アドレスです。null を指定して、SWF ファイルが存在するホストサーバーに接続することもできます。呼び出し元の SWF ファイルが Web ブラウザ内で実行されている場合は、host が SWF ファイルと同じドメイン内に存在する必要があります。
|
|
port:int — 接続の確立に使用するホスト上の TCP ポート番号です。ポリシーファイルを使用している場合を除き、ポート番号は 1024 以上である必要があります。
|
securityError: — 呼び出し元のセキュリティサンドボックスの外にあるサーバーや 1024 未満のポート番号に対して接続しようとした接続操作です。どちらの問題も、サーバーで XMLSocket ポリシーファイルを使用することで回避できます。 |
|
data: — 未処理のデータを受信したときに送出されます。 |
|
connect: — ネットワーク接続が確立されたときに送出されます。 |
SecurityError — 信頼されていないローカル SWF はインターネットへの接続を許可されません。これは、ネットワークアクセスを許可されたローカル SWF ファイル、または信頼できる SWF ファイルとして再分類すると回避できる場合があります。
|
|
SecurityError — 65535 より大きいソケットポートを指定することはできません。
|
関連項目
| send | () | メソッド |
public function send(object:*):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
object パラメータで指定された XML オブジェクトまたはデータをストリングに変換し、その後ろにゼロ (0) バイトを付加してサーバーに転送します。object が XML オブジェクトである場合、ストリングは XML オブジェクトの XML テキスト表現です。送信操作は非同期です。つまり、転送処理はただちに終了しますが、データが転送されるのは、その後です。XMLSocket.send() メソッドは、データが正常に転送されたかどうかを示す値を返しません。
XMLSocket.connect() を使用して、XMLSocket オブジェクトをサーバーに接続していない場合、XMLSocket.send() 操作は失敗します。
パラメータ
object:* — サーバーに転送する XML オブジェクトまたは他のデータです。
|
IOError — XMLSocket オブジェクトはサーバーに接続されません。
|
関連項目
| close | イベント |
flash.events.Event
flash.events.Event.CLOSE
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
サーバーによりソケット接続が閉じられたときに送出されます。close イベントは、サーバーにより接続が閉じられたときのみ送出されます。XMLSocket.close() メソッドを呼び出しても送出されません。
type プロパティ (close イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 接続が閉じられたオブジェクトです。 |
| connect | イベント |
flash.events.Event
flash.events.Event.CONNECT
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
XMLSocket.connect() メソッドの呼び出しが成功した後に送出されます。
type プロパティ (connect イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ネットワーク接続を確立した Socket オブジェクトまたは XMLSocket オブジェクトです。 |
| data | イベント |
flash.events.DataEvent
flash.events.DataEvent.DATA
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
未処理のデータが送受信された後に送出されます。
type プロパティ (data イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
data | Flash Player にロードされる未処理のデータです。 |
target | データを受け取る XMLSocket オブジェクトです。 |
| ioError | イベント |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
入出力エラーが発生して送信または受信操作が失敗したときに送出されます。
type プロパティ (ioError イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 入出力エラーが発生したネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
| securityError | イベント |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
XMLSocket.connect() メソッドの呼び出しによって、呼び出し元のセキュリティサンドボックスの外にあるサーバーや 1024 未満のポート番号に対して接続しようとしたときに送出されます。
SecurityErrorEvent.SECURITY_ERROR 定数は、type プロパティ (securityError イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | セキュリティエラーを報告するネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
関連項目
socket という名前の XMLSocket インスタンスを作成し、socket を後述の ConfigureListeners() に渡します。次に XMLSocket の connect() メソッドを呼び出します。この呼び出しには、ホスト名 "localhost" とポート番号 8080 を使用します。configureListeners()メソッドを呼び出して、サポートされる各 XMLSocket イベントのリスナーを追加します。
closeHandler() : close イベントをリッスンします。このイベントはネットワーク接続が閉じられた後に送出されます。connectHandler() : connect イベントをリッスンします。このイベントはネットワーク接続が確立されたときに送出されます。dataHandler() : data イベントをリッスンします。このイベントは XMLSocket が新しいデータを受け取るたびに送出されます。progressHandler() : progress イベントをリッスンします。このイベントは send() が呼び出されたとき、送信中に送出されます。securityErrorHandler() : securityError イベントをリッスンします。このイベントは、ローカルでの再生に関するセキュリティを誤って設定して、または 1024 より小さいポートを使用して、XMLSocket にアクセスしようとしたときに送出されます。ioErrorHandler() : ioError イベントをリッスンします。このイベントはデータの送信または受信操作に失敗すると発生します。メモ :
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.XMLSocket;
public class XMLSocketExample extends Sprite {
private var hostName:String = "localhost";
private var port:uint = 8080;
private var socket:XMLSocket;
public function XMLSocketExample() {
socket = new XMLSocket();
configureListeners(socket);
socket.connect(hostName, port);
}
public function send(data:Object):void {
socket.send(data);
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CLOSE, closeHandler);
dispatcher.addEventListener(Event.CONNECT, connectHandler);
dispatcher.addEventListener(DataEvent.DATA, dataHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
}
private function closeHandler(event:Event):void {
trace("closeHandler: " + event);
}
private function connectHandler(event:Event):void {
trace("connectHandler: " + event);
}
private function dataHandler(event:DataEvent):void {
trace("dataHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/net/XMLSocket.html