| パッケージ | flash.net |
| クラス | public class XMLSocket |
| 継承 | XMLSocket EventDispatcher Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
XMLSocket オブジェクトと通信するようにサーバを設定すると、問題が発生する可能性があります。 アプリケーションがリアルタイムのインタラクティブ機能を必要としない場合は、XMLSocket クラスの代わりに、URLLoader クラスを使用します。
XMLSocket クラスのメソッドを使用するには、まず new XMLSocket コンストラクタを使用して XMLSocket オブジェクトを作成します。
ローカルファイルシステムのサンドボックス内の SWF ファイルはソケットを使用できません。
ターゲットホスト上のソケットポリシーファイルで、SWF ファイルがソケット接続できるホストと、その接続ができるポートを指定します。Flash Player の最近のリリースでは、ソケットポリシーファイルに関するセキュリティ要件が以前より厳密になっています。Flash Player のすべてのバージョンで、ソケットポリシーファイルを使用することをお勧めします。環境によっては、ソケットポリシーファイルの使用が必須となっています。このため、XMLSocket オブジェクトを使用している場合は、必要に応じてターゲットホストがソケットポリシーファイルを提供するようにしてください。
次の一覧は、Flash Player の各バージョンにおけるソケットポリシーファイルの要件をまとめたものです。
ただし、Adobe AIR では、application セキュリティサンドボックス内のコンテンツ(AIR アプリケーションと共にインストールされたコンテンツ)は、これらのセキュリティ制限による制限を受けません。
セキュリティ情報について詳しくは、以下を参照してください。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
| connected : Boolean [読み取り専用]
この XMLSocket オブジェクトが現在、接続されているかどうかを示します。 | XMLSocket | ||
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
| timeout : int
接続までの待ち時間(ミリ秒数)を示します。 | XMLSocket | ||
| メソッド | 定義元 | ||
|---|---|---|---|
新しい 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 または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
| サーバーによりソケット接続が閉じられたときに送出されます。 | XMLSocket | |||
| XMLSocket.connect() メソッドの呼び出しが成功したときに送出されます。 | XMLSocket | |||
| 未処理のデータが送受信された後に送出されます。 | XMLSocket | |||
![]() | [ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | ||
| 入出力エラーが発生して送信または受信操作が失敗したときに送出されます。 | XMLSocket | |||
| XMLSocket.connect() メソッドの呼び出しによって、呼び出し元のセキュリティサンドボックスの外にあるサーバーや 1024 未満のポート番号に対して接続しようとしたときに送出されます。 | XMLSocket | |||
| connected | プロパティ |
connected:Boolean [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
この XMLSocket オブジェクトが現在、接続されているかどうかを示します。connect イベントと ioError イベントに対して登録を行い、接続が成功したかどうかを調べることもできます。
public function get connected():Boolean関連項目
| timeout | プロパティ |
timeout:int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
接続までの待ち時間(ミリ秒数)を示します。
指定した時間内に接続できなかったときは、接続が失敗することになります。デフォルト値は 20,000 (20 秒) です。
public function get timeout():int public function set timeout(value:int):void| XMLSocket | () | コンストラクタ |
public function XMLSocket(host:String = null, port:int = 0)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
新しい XMLSocket オブジェクトを作成します。 パラメータを指定しないと、初期状態では未接続のソケットが作成されます。パラメータを指定すると、指定したホストおよびポートへの接続が試行されます。
注意:パラメータを指定せずにコンストラクタフォームを使用し、さらにいずれかのイベントリスナーを追加し、connect メソッドを呼び出す(host および port パラメータを指定する)ことを強く推奨します。このシーケンスによって、すべてのイベントリスナーが正しく動作するようになります。
host:String (default = null) — FQDN(完全修飾ドメイン名)、つまり .222.333.444 という形式の IP アドレスです。Flash Player 9.0.115.0 および AIR 1.0 以降では、rtmp://[2001:db8:ccc3:ffff:0:444d:555e:666f] などの IPv6 アドレスを指定できます。null を指定して、SWF ファイルが存在するホストサーバーに接続することもできます。呼び出し元の SWF ファイルが Web ブラウザ内で実行されている場合は、host が SWF ファイルと同じドメイン内に存在する必要があります。
| |
port:int (default = 0) — 接続の確立に使用するターゲットホスト上の TCP ポート番号です。Flash Player 9.0.124.0 以降のバージョンでは、ターゲットホストは、SWF ファイルを提供するホストから指定のポートへのソケット接続を許可するように指定した、ソケットポリシーファイルを提供する必要があります。以前のバージョンの Flash Player では、1024 番未満のポートに接続するか、SWF ファイルを提供しているホスト以外のホストに接続するときのみ、ソケットポリシーファイルが必要です。
|
関連項目
| close | () | メソッド |
public function close():void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
XMLSocket オブジェクトで指定された接続を閉じます。close イベントは、サーバーにより接続が閉じられたときのみ送出されます。close() メソッドを呼び出しても送出されません。
関連項目
| connect | () | メソッド |
public function connect(host:String, port:int):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定された TCP ポートを使用して指定されたインターネットホストへの接続を確立します。
null を host パラメータに対して指定した場合は、XMLSocket.connect() を呼び出すファイルが存在するホストに接続します。例えば、www.adobe.com から呼び出し元ファイルをダウンロードした場合は、host パラメータに null を指定することは、www.adobe.com に接続することを意味します。
ファイルがこのメソッドを使用しないようにするには、SWF コンテンツを含む HTML ページに allowNetworking パラメータ(object タグおよび embed タグ)を設定します。
詳細については、次のトピックを参照してください。
パラメータ
host:String — FQDN(完全修飾ドメイン名)、つまり 111.222.333.444 という形式の IP アドレスです。null を指定して、SWF ファイルが存在するホストサーバーに接続することもできます。呼び出し元ファイルが Web ブラウザ内で実行されている SWF ファイルである場合は、host がファイルと同じドメイン内に存在する必要があります。
| |
port:int — 接続の確立に使用するターゲットホスト上の TCP ポート番号です。Flash Player 9.0.124.0 以降のバージョンでは、ターゲットホストは、SWF ファイルを提供するホストから指定のポートへのソケット接続を許可するように指定した、ソケットポリシーファイルを提供する必要があります。以前のバージョンの Flash Player では、1024 番未満のポートに接続するか、SWF ファイルを提供しているホスト以外のホストに接続するときのみ、ソケットポリシーファイルが必要です。
|
securityError: — 接続操作で、呼び出し側のセキュリティサンドボックスの外部のホスト、またはソケットポリシーファイルが必要なポートに接続しようとしました。ターゲットホスト上でソケットポリシーファイルを使用することで、両方の問題を回避します。 | |
data: — 未処理のデータを受信したときに送出されます。 | |
connect: — ネットワーク接続が確立されたときに送出されます。 |
SecurityError — 信頼されていないローカルファイルはインターネットへの接続を許可されません。このファイルを local-with-networking または trusted として分類し直すことで、この制限を回避します。
| |
SecurityError — 65535 より大きいソケットポートを指定することはできません。
|
関連項目
| send | () | メソッド |
public function send(object:*):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
object パラメータで指定された XML オブジェクトまたはデータをストリングに変換し、その後ろにゼロ (0) バイトを付加してサーバーに転送します。object が XML オブジェクトである場合、ストリングは XML オブジェクトの XML テキスト表現です。送信操作は非同期です。つまり、転送処理はただちに終了しますが、データが転送されるのは、その後です。XMLSocket.send() メソッドは、データが正常に転送されたかどうかを示す値を返しません。
XMLSocket.connect() を使用して、XMLSocket オブジェクトをサーバーに接続していない場合、XMLSocket.send() 操作は失敗します。
パラメータ
object:* — サーバーに転送する XML オブジェクトまたは他のデータです。
|
IOError — XMLSocket オブジェクトはサーバーに接続されません。
|
関連項目
| close | イベント |
flash.events.Eventflash.events.Event.CLOSE| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
サーバーによりソケット接続が閉じられたときに送出されます。close イベントは、サーバーにより接続が閉じられたときのみ送出されます。XMLSocket.close() メソッドを呼び出しても送出されません。
Event.CLOSE 定数は、type プロパティ(close イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 接続が閉じられたオブジェクトです。 |
| connect | イベント |
flash.events.Eventflash.events.Event.CONNECT| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
XMLSocket.connect() メソッドの呼び出しが成功した後に送出されます。
Event.CONNECT 定数は、type プロパティ(connect イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ネットワーク接続を確立した Socket オブジェクトまたは XMLSocket オブジェクトです。 |
| data | イベント |
flash.events.DataEventflash.events.DataEvent.DATA| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
未処理のデータが送受信された後に送出されます。
type プロパティ (data イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
data | Flash Player または Adobe AIR にロードされた生データです。 |
target | データを受け取る XMLSocket オブジェクトです。 |
| ioError | イベント |
flash.events.IOErrorEventflash.events.IOErrorEvent.IO_ERROR| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
入出力エラーが発生して送信または受信操作が失敗したときに送出されます。
type プロパティ (ioError イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
errorID | 特定のエラーに関連付けられた参照番号です(AIR のみ)。 |
target | 入出力エラーが発生したネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
| securityError | イベント |
flash.events.SecurityErrorEventflash.events.SecurityErrorEvent.SECURITY_ERROR| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 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);
if (hostName && port) {
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/flex/3_jp/langref/flash/net/XMLSocket.html