| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
Socket クラスを使用すると、コードでソケット接続を確立して生のバイナリデータを読み書きできます。これは XMLSocket に似ていますが、送受信するデータの形式に制約がありません。
Socket クラスは、バイナリプロトコルを使用するサーバーとの通信に役立ちます。
Socket クラスのメソッドを使用するには、まず new Socket コンストラクタを使用して Socket オブジェクトを作成する必要があります。
ローカルファイルシステムのサンドボックス内の SWF ファイルはソケットを使用できません。
ターゲットホスト上のソケットポリシーファイルで、SWF ファイルがソケット接続できるホストと、その接続ができるポートを指定します。Flash Player の最近のリリースでは、ソケットポリシーファイルに関するセキュリティ要件が以前より厳密になっています。Flash Player のすべてのバージョンで、ソケットポリシーファイルを使用することをお勧めします。環境によっては、ソケットポリシーファイルの使用が必須となっています。このため、XMLSocket オブジェクトを使用している場合は、必要に応じてターゲットホストがソケットポリシーファイルを提供するようにしてください。
次の一覧は、Flash Player の各バージョンにおけるソケットポリシーファイルの要件をまとめたものです。
- Flash Player 9.0.124.0 以降のバージョンでは、Socket 接続にソケットポリシーファイルが必要です。つまり、接続しているポートには関係なく、ターゲットホスト上にソケットポリシーファイルが必要ということです。また、SWF ファイルを提供している同じホスト上のポートに接続している場合でも同様です。
- Flash Player 9.0.115.0 以前のバージョンでは、1024 未満のポートに接続するか、SWF ファイルを提供しているホスト以外のホストに接続するときは、ターゲットホスト上にソケットポリシーファイルが必要です。
- Flash Player 9.0.115.0 では、ソケットポリシーファイルが不要な場合でも、ターゲットホストがソケットポリシーファイルを提供していないときに Flash Debug Player を使うと警告が表示されます。
ただし、Adobe AIR では、application セキュリティサンドボックス内のコンテンツ(AIR アプリケーションと共にインストールされたコンテンツ)は、これらのセキュリティ制限による制限を受けません。
セキュリティ情報について詳しくは、以下を参照してください。
- Flash Player デベロッパーセンタートピック:セキュリティ
例を表示
bytesAvailable:uint [読み取り専用]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
入力バッファで読み取ることができるデータのバイト数です。
コードでは、bytesAvailable にアクセスして入力バッファの空き容量を確認してから、read メソッドの 1 つを使用してデータを読み取る必要があります。
実装 public function get bytesAvailable():uintconnected:Boolean [読み取り専用]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
この Socket オブジェクトが現在、接続されているかどうかを示します。このプロパティの呼び出しは、現在ソケットが接続されている場合に値 true を、それ以外の場合は false を返します。
実装 public function get connected():Booleanendian:String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
データのバイト順序を示します。指定できる値は flash.utils.Endian クラスの定数で、Endian.BIG_ENDIAN または Endian.LITTLE_ENDIAN です。
デフォルト値 : Endian.BIG_ENDIAN.
実装 public function get endian():String public function set endian(value:String):void関連項目
objectEncoding:uint| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
オブジェクトの書き込みまたは読み取り時に使用される AMF のバージョンを制御します。
実装 public function get objectEncoding():uint public function set objectEncoding(value:uint):void関連項目
timeout:uint| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
接続までの待ち時間(ミリ秒数)を示します。
指定した時間内に接続できなかったときは、接続が失敗することになります。デフォルト値は 20,000 (20 秒) です。
実装 public function get timeout():uint public function set timeout(value:uint):voidpublic function Socket(host:String = null, port:int = 0)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
Socket オブジェクトを新規作成します。パラメータを指定しないと、初期状態では未接続のソケットが作成されます。パラメータを指定すると、指定したホストおよびポートへの接続が試行されます。
注意:パラメータを指定せずにコンストラクタフォームを使用し、さらにいずれかのイベントリスナーを追加し、connect メソッドを呼び出す(host および port パラメータを指定する)ことを強く推奨します。このシーケンスによって、すべてのイベントリスナーが正しく動作するようになります。
パラメータ | host:String (default = null) — FQDN(完全修飾ドメイン名)、つまり 111.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 ファイルを提供しているホスト以外のホストに接続するときのみ、ソケットポリシーファイルが必要です。
|
イベント | connect:Event — ネットワーク接続が確立されたときに送出されます。 |
| |
| ioError:IOErrorEvent — 入出力エラーが発生して接続が失敗すると送信されます。 |
| |
| securityError:SecurityErrorEvent — このエラーは SWF コンテンツで発生します。 Socket.connect() の呼び出しによって、ソケットポリシーファイルを提供しないサーバーや、特定のポートに対して呼び出し元のホストアクセスを許可しないポリシーファイルを持つサーバーに接続しようとしたときに送出されます。ソケットポリシーファイルの詳細については、『ActionScript 3.0 のプログラミング』の「Flash Player セキュリティ」の章を参照してください。 |
例外 | SecurityError — このエラーは、SWF コンテンツ内で次の理由で発生します。
- Local-with-filesystem ファイルはインターネットと通信できません。この問題は、この SWF ファイルを local-with-networking または trusted として分類し直すことで回避できます。 この制限は、アプリケーションセキュリティサンドボックス内の AIR アプリケーションコンテンツには適用されません。
- 65535 より大きいソケットポートを指定することはできません。
|
public function close():void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットを閉じます。close() メソッドが呼び出された後は、データの読み書きはできません。
close イベントは、サーバーにより接続が閉じられたときのみ送出されます。close() メソッドを呼び出しても送出されません。
Socket オブジェクトで connect() メソッドをもう一度呼び出すことで、その Socket オブジェクトを再使用できます。
例外 | IOError — ソケットを閉じることができないか、またはソケットが開いていません。.
|
public function connect(host:String, port:int):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定されたホストおよびポートにソケットを接続します。直後に接続が失敗した場合、イベントが送出されるか例外がスローされます。ホストが指定されている場合はエラーイベントが送出され、ホストが指定されていない場合は例外がスローされます。接続が成功した場合は、接続のステータスがイベントにより報告されます。ソケットが既に接続済みの場合、最初に既存の接続が閉じられます。
パラメータ
| host:String — 接続するホストのホスト名または IP アドレスです。ホストを指定しないと、接続するホストは、呼び出す ファイルが存在するホストになります。ホストを指定しない場合は、イベントリスナーを使用して接続が成功したかどうかを判定します。
|
| |
| port:int — 接続先のポート番号です。
|
イベント | connect:Event — ネットワーク接続が確立されたときに送出されます。 |
| |
| ioError:IOErrorEvent — ホストが指定されていて、入出力エラーが発生して接続が失敗した場合に送出されます。 |
| |
| securityError:SecurityErrorEvent — Socket.connect() の呼び出しによって、ソケットポリシーファイルを提供しないサーバや、特定のポートに対して呼び出し元のホストアクセスを許可しないポリシーファイルを持つサーバに接続しようとしたときに送出されます。詳細については、『ActionScript 3.0 のプログラミング』の「Flash Player セキュリティ」の章を参照してください。 |
例外 | IOError — ホストが指定されていないので、接続に失敗しました。
|
| |
| SecurityError — このエラーは、SWF コンテンツ内で次の理由で発生します。
- 信頼されていないローカル SWF はインターネットへの接続を許可されません。この制限は、このファイルを local-with-networking または trusted として分類し直すことで回避できます。
- 65535 より大きいソケットポートを指定することはできません。
- SWF コンテンツがある HTML ページでは、
allowNetworking パラメータ(object タグおよび embed タグ)は "none" に設定します。
|
関連項目
public function flush():void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットの出力バッファに蓄積されたデータをフラッシュします。write メソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readBoolean():Boolean| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットからブール値を読み取ります。1 バイトを読み取った後、メソッドはバイトがゼロ以外の場合は true、それ以外の場合は false を返します。
戻り値 | Boolean — 読み取られたバイトがゼロ以外の場合に値は true になり、それ以外の場合は false になります。
|
例外 public function readByte():int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから符号付きバイトを読み取ります。
戻り値例外 public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから、length パラメータで指定したデータバイト数を読み取ります。このバイトは、指定したバイト配列の、offset で指定された位置以降に読み込まれます。
パラメータ
| bytes:ByteArray — データの読み込み先の ByteArray オブジェクトです。
|
| |
| offset:uint (default = 0) — データの読み取りを開始するバイト配列のオフセットです。
|
| |
| length:uint (default = 0) — 読み取るバイト数です。デフォルト値の 0 に設定すると、すべてのデータが読み取られます。
|
例外 public function readDouble():Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから IEEE 754 倍精度浮動小数点数を読み取ります。
戻り値 | Number — IEEE 754 倍精度浮動小数点数です。
|
例外 public function readFloat():Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから IEEE 754 単精度浮動小数点数を読み取ります。
戻り値 | Number — IEEE 754 単精度浮動小数点数です。
|
例外 public function readInt():int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから符号付き 32 ビット整数を読み取ります。
戻り値 | int — 値は -2147483648 ~ 2147483647 です。
|
例外 public function readMultiByte(length:uint, charSet:String):String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを読み取ります。
パラメータ
| length:uint — バイトストリームから読み取るバイト数です。
|
| |
| charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift_jis"、"CN-GB"、および "iso-8859-1" があります。完全な一覧については、「サポートする文字セット」を参照してください。
メモ : charSet パラメータの値が現在のシステムによって認識されない場合、アプリケーションはシステムのデフォルトコードページを文字セットとして使用します。たとえば、charSet パラメータの指定で、myTest.readMultiByte(22, "iso-8859-01") のように、01 を 1 の代わりに使用した場合、その文字セットパラメータは開発マシンでは認識されるかもしれませんが、別のマシンでは認識されない可能性があります。もう一方のマシンでは、アプリケーションがシステムのデフォルトコードページを使用することになります。
|
戻り値 | String — UTF-8 エンコードされたストリングです。
|
例外 public function readObject():*| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから AMF 直列化形式でエンコードされたオブジェクトを読み取ります。
戻り値例外関連項目
public function readShort():int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから符号付き 16 ビット整数を読み取ります。
戻り値 | int — 値は -32768 ~ 32767 です。
|
例外 public function readUnsignedByte():uint| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから符号なしバイトを読み取ります。
戻り値例外 public function readUnsignedInt():uint| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから符号なし 32 ビット整数を読み取ります。
戻り値 | uint — 値は 0 ~ 4294967295 です。
|
例外 public function readUnsignedShort():uint| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから符号なし 16 ビット整数を読み取ります。
戻り値例外 public function readUTF():String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから UTF-8 ストリングを読み取ります。このストリングには、バイト単位の長さを示す符号なし short 型整数が前に付いているものと見なされます。
戻り値例外 public function readUTFBytes(length:uint):String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットから length パラメータで指定した UTF-8 バイト数を読み取り、ストリングを返します。
パラメータ
| length:uint — 読み取るバイト数です。
|
戻り値例外 public function writeBoolean(value:Boolean):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットにブール値を書き込みます。このメソッドは 1 バイトを書き込みます。1 (true の場合) または 0 (false の場合) のいずれかの値が使用されます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:Boolean — ソケットに書き込まれる値は、1 ( true の場合) または 0 (false の場合) です。
|
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeByte(value:int):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットに 1 バイトを書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:int — ソケットに書き込む値です。値の下位 8 ビットが使用されます。上位 24 ビットは無視されます。
|
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定したバイト配列のバイトのシーケンスを書き込みます。書き込み操作は、offset で指定された位置から開始されます。
length パラメータを省略するとデフォルトの長さ 0 が使用され、offset の位置からバッファ全体が書き込まれます。
offset パラメータを省略した場合も、バッファ全体が書き込まれます。
offset または length が範囲外の場合は、bytes 配列の始まりと終わりに合うように調整されます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| bytes:ByteArray — データの書き込み元の ByteArray オブジェクトです。
|
| |
| offset:uint (default = 0) — データの書き込みを開始する、bytes ByteArray オブジェクトへのゼロから始まるオフセットです。
|
| |
| length:uint (default = 0) — 書き込むバイト数です。デフォルト値の 0 に設定すると、offset パラメータで指定した値以降にバッファ全体が書き込まれます。
|
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeDouble(value:Number):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットに IEEE 754 倍精度浮動小数点数を書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeFloat(value:Number):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットに IEEE 754 単精度浮動小数点数を書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeInt(value:int):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットに 32 ビット符号付き整数を書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:int — ソケットに書き込む値です。
|
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeMultiByte(value:String, charSet:String):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:String — 書き込まれるストリング値です。
|
| |
| charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift_jis"、"CN-GB"、および "iso-8859-1" があります。完全な一覧については、「サポートする文字セット」を参照してください。
|
関連項目
public function writeObject(object:*):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットに AMF 直列化形式でオブジェクトを書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| object:* — 直列化されるオブジェクトです。
|
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeShort(value:int):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットに 16 ビット整数を書き込みます。次のようにバイトが書き込まれます。
(v >> 8) & 0xff v & 0xff
パラメータの下位 16 ビットが使用されます。上位 16 ビットは無視されます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:int — ソケットに書き込む値です。
|
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeUnsignedInt(value:uint):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットに 32 ビット符号なし整数を書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:uint — ソケットに書き込む値です。
|
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeUTF(value:String):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定された UTF-8 ストリングの長さ (バイト単位) を示す 16 ビット符号なし整数をソケットに書き込み、その後にストリング自体を書き込みます。
ストリングを書き込む前に、メソッドによってストリングのすべての文字を表すのに必要なバイト数が計算されます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:String — ソケットに書き込むストリングです。
|
例外関連項目
public function writeUTFBytes(value:String):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットに UTF-8 ストリングを書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:String — ソケットに書き込むストリングです。
|
例外 | IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
イベントオブジェクトの型: flash.events.Eventプロパティ Event.type = flash.events.Event.CLOSE| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
サーバーによりソケット接続が閉じられたときに送出されます。close イベントは、サーバーにより接続が閉じられたときのみ送出されます。Socket.close() メソッドを呼び出しても送出されません。
Event.CLOSE 定数は、
type プロパティ(
close イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 接続が閉じられたオブジェクトです。 |
イベントオブジェクトの型: flash.events.Eventプロパティ Event.type = flash.events.Event.CONNECT| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ネットワーク接続が確立されたときに送出されます。
Event.CONNECT 定数は、
type プロパティ(
connect イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ネットワーク接続を確立した Socket オブジェクトまたは XMLSocket オブジェクトです。 |
イベントオブジェクトの型: flash.events.IOErrorEventプロパティ IOErrorEvent.type = flash.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 | エラーメッセージとして表示されるテキストです。 |
イベントオブジェクトの型: flash.events.SecurityErrorEventプロパティ SecurityErrorEvent.type = flash.events.SecurityErrorEvent.SECURITY_ERROR| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
Socket.connect() の呼び出しによって、呼び出し元のセキュリティサンドボックスの外にあるサーバーや 1024 未満のポート番号に対して接続しようとしたときに送出されます。
SecurityErrorEvent.SECURITY_ERROR 定数は、
type プロパティ(
securityError イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | セキュリティエラーを報告するネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
関連項目
イベントオブジェクトの型: flash.events.ProgressEventプロパティ ProgressEvent.type = flash.events.ProgressEvent.SOCKET_DATA| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ソケットがデータを受信したときに送出されます。socketData タイプのイベントでは、ProgressEvent.bytesTotal プロパティは使用されません。
type プロパティ (
socketData イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | Event をアクティブに処理しているオブジェクトです。 |
bytesLoaded | リスナーがイベントを処理しているときにロードされたアイテム数またはバイト数です。 |
bytesTotal | 0。このプロパティは、socketData イベントオブジェクトによって使用されません。 |
target | 進行状況をレポートする Socket オブジェクトです。 |
次の例では、ソケットに対して読み取りおよび書き込みを行い、socket イベント中に転送される情報を出力します。この例のハイライトは、次のとおりです。
- コンストラクタが
CustomSocket インスタンスの socket を作成し、ホスト名 localhost とポート 80 をパラメータとして渡します。CustomSocket は Socket を継承するので、super() を呼び出すと Socket のコンストラクタが呼び出されます。 - 次に
configureListeners() メソッドが呼び出され、このメソッドにより Socket イベントのリスナーが追加されます。 - 最後に、ソケット
connect() メソッドがホスト名 localhost、ポート番号 80 で呼び出されます。
メモ : この例を実行するには、SWF が存在するドメインと同じドメインで実行され、ポート 80 でリッスンするサーバー(この例では localhost)が必要です。
package {
import flash.display.Sprite;
public class SocketExample extends Sprite {
public function SocketExample() {
var socket:CustomSocket = new CustomSocket("localhost", 80);
}
}
}
import flash.errors.*;
import flash.events.*;
import flash.net.Socket;
class CustomSocket extends Socket {
private var response:String;
public function CustomSocket(host:String = null, port:uint = 0) {
super();
configureListeners();
if (host && port) {
super.connect(host, port);
}
}
private function configureListeners():void {
addEventListener(Event.CLOSE, closeHandler);
addEventListener(Event.CONNECT, connectHandler);
addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);
}
private function writeln(str:String):void {
str += "\n";
try {
writeUTFBytes(str);
}
catch(e:IOError) {
trace(e);
}
}
private function sendRequest():void {
trace("sendRequest");
response = "";
writeln("GET /");
flush();
}
private function readResponse():void {
var str:String = readUTFBytes(bytesAvailable);
response += str;
}
private function closeHandler(event:Event):void {
trace("closeHandler: " + event);
trace(response.toString());
}
private function connectHandler(event:Event):void {
trace("connectHandler: " + event);
sendRequest();
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function socketDataHandler(event:ProgressEvent):void {
trace("socketDataHandler: " + event);
readResponse();
}
}
© 2009 Adobe Systems Incorporated. All rights reserved.
Thu Mar 19 2009, 08:51 PM -07:00