| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
Socket クラスを使用すると、ActionScript コードでソケット接続を確立して生のバイナリデータを読み書きできます。これは XMLSocket に似ていますが、送信あるいは受信するデータの形式に制約がありません。
Socket クラスは、バイナリプロトコルを使用するサーバーとの通信に役立ちます。
このクラスを使用するときは、Flash Player セキュリティモデルを考慮してください。
- 呼び出し元 SWF ファイルが ローカルファイルシステムのサンドボックスにあり、ターゲットリソースがネットワーク上のサンドボックスにある場合、データをロードできません。
- 呼び出し元 SWF ファイルがネットワーク上のサンドボックスにあり、ターゲットリソースがローカルにある場合、データをロードできません。
- 呼び出し側の SWF ファイルとアクセスされるネットワークリソースは、同じドメインに置かれている必要があります。たとえば adobe.com に置かれている SWF ファイルは、adobe.com 上のサーバーデーモンにしか接続できません。
- Web サイトでクロスドメインポリシーファイルを使用して、リソースへのクロスドメインアクセスを許可できます。
詳細については、以下を参照してください。
例を表示
bytesAvailable:uint [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
入力バッファで読み取ることができるデータのバイト数です。
コードでは、bytesAvailable にアクセスして入力バッファの空き容量を確認してから、read メソッドの 1 つを使用してデータを読み取る必要があります。
実装
public function get bytesAvailable():uint
connected:Boolean [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
この Socket オブジェクトが現在、接続されているかどうかを示します。このプロパティの呼び出しは、現在ソケットが接続されている場合に値 true を、それ以外の場合は false を返します。
実装
public function get connected():Boolean
endian:String [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | 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 [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
オブジェクトの書き込みまたは読み取り時に使用される AMF のバージョンを制御します。
実装
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
関連項目
public function Socket(host:String = null, port:int = 0)
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
Socket オブジェクトを作成します。パラメータを指定しないと、初期状態では未接続のソケットが作成されます。パラメータを指定すると、指定したホストおよびポートへの接続が試行されます。
パラメータ
| host:String (default = null) — 接続するホスト名です。このパラメータを指定しないと、初期状態では未接続のソケットが作成されます。
|
| |
| port:int (default = 0) — 接続先のポート番号です。このパラメータを指定しないと、初期状態では未接続のソケットが作成されます。
|
イベント
| connect:Event — ネットワーク接続が確立されたときに送出されます。 |
| |
| ioError:IOErrorEvent — 入出力エラーが発生して接続が失敗すると送信されます。 |
| |
| securityError:SecurityErrorEvent — Socket.connect() の呼び出しによって、呼び出し元のセキュリティサンドボックスの外にあるサーバーや 1024 未満のポート番号に対して接続しようとしたときに送出されます。いずれの問題も、サーバー上でクロスドメインポリシーファイルを使用することで回避できます。ソケット用のポリシーファイルの詳細については、『ActionScript 3.0 のプログラミング』の「Flash Player セキュリティ」の章を参照してください。 |
例外
| SecurityError — このエラーは、次の理由で発生する可能性があります。
- 信頼されていないローカル SWF ファイルはインターネットへの接続を許可されません。この問題は、ネットワークアクセスを許可されたローカル SWF ファイル、または信頼できる SWF ファイルとして再分類することで回避できます。
- 65535 より大きいソケットポートを指定することはできません。
|
public function close():void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットを閉じます。close() メソッドが呼び出された後は、データの読み書きはできません。
close イベントは、サーバーにより接続が閉じられたときのみ送出されます。close() メソッドを呼び出しても送出されません。
Socket オブジェクトで connect() メソッドをもう一度呼び出すことで、その Socket オブジェクトを再使用できます。
例外
| IOError — ソケットを閉じることができないか、またはソケットが開いていません。
|
public function connect(host:String, port:int):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
指定されたホストおよびポートにソケットを接続します。直後に接続が失敗した場合、イベントが送出されるか例外がスローされます。ホストが指定されている場合はエラーイベントが送出され、ホストが指定されていない場合は例外がスローされます。接続が成功した場合は、接続のステータスがイベントにより報告されます。ソケットが既に接続済みの場合、最初に既存の接続が閉じられます。
パラメータ
| host:String — 接続するホスト名です。ホストを指定しないと、接続するホストは、呼び出す SWF ファイルが存在するホストになります。ホストを指定しない場合は、イベントリスナーを使用して接続が成功したかどうか判定します。
|
| |
| port:int — 接続先のポート番号です。
|
イベント
| connect:Event — ネットワーク接続が確立されたときに送出されます。 |
| |
| ioError:IOErrorEvent — ホストが指定されていて、入出力エラーが発生して接続が失敗した場合に送出されます。 |
| |
| securityError:SecurityErrorEvent — Socket.connect() の呼び出しによって、呼び出し元のセキュリティサンドボックスの外にあるサーバーや 1024 未満のポート番号に対して接続しようとしたときに送出されます。いずれの問題も、サーバー上でクロスドメインポリシーファイルを使用することで回避できます。詳細については、『ActionScript 3.0 のプログラミング』の「Flash Player セキュリティ」の章を参照してください。 |
例外
| IOError — ホストが指定されていないため、接続に失敗しました。
|
| |
| SecurityError — このエラーは、次の理由で発生する可能性があります。
- 信頼されていないローカル SWF はインターネットへの接続を許可されません。これは、ネットワークアクセスを許可されたローカル SWF ファイル、または信頼できる SWF ファイルとして再分類すると回避できる場合があります。
- 65535 より大きいソケットポートを指定することはできません。
- SWF コンテンツがある HTML ページでは、
allowNetworking パラメータ (object タグおよび embed タグ) は "none" に設定します。
|
関連項目
public function flush():void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットの出力バッファに蓄積されたデータをフラッシュします。write メソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
例外
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readBoolean():Boolean
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットからブール値を読み取ります。1 バイトを読み取った後、メソッドはバイトがゼロ以外の場合は true、それ以外の場合は false を返します。
戻り値
| Boolean — 読み取られたバイトがゼロ以外の場合に値は true になり、それ以外の場合は false になります。
|
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readByte():int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから符号付きバイトを読み取ります。
戻り値
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから、length パラメータで指定したデータバイト数を読み取ります。このバイトは指定したバイト配列に読み込まれます。offset で指定した位置が読み込み開始位置になります。
パラメータ
| bytes:ByteArray — データの読み込み先の ByteArray オブジェクトです。
|
| |
| offset:uint (default = 0) — バイト配列でデータの読み取りが開始するオフセットです。
|
| |
| length:uint (default = 0) — 読み取るバイト数です。デフォルト値の 0 に設定すると、すべてのデータが読み取られます。
|
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readDouble():Number
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから IEEE 754 倍精度浮動小数点数を読み取ります。
戻り値
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readFloat():Number
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから IEEE 754 単精度浮動小数点数を読み取ります。
戻り値
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readInt():int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから符号付き 32 ビット整数を読み取ります。
戻り値
| int — 値は -2147483648 ~ 2147483647 です。
|
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readMultiByte(length:uint, charSet:String):String
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを読み取ります。
パラメータ
| length:uint — バイトストリームから読み取るバイト数です。
|
| |
| charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift_jis"、"CN-GB"、および "iso-8859-1" があります。完全な一覧については、「サポートする文字セット」を参照してください。
メモ: charSet パラメータの値が現在のシステムによって認識されない場合、Flash Player はシステムのデフォルトコードページを文字セットとして使用します。たとえば、charSet パラメータの指定で 1 の代わりに 01 を使用して myTest.readMultiByte(22, "iso-8859-01") というような指定を行った場合、その文字セットパラメータは開発マシンでは認識されるかもしれませんが、別のマシンでは認識されない可能性があります。もう一方のマシンでは、Flash Player がシステムのデフォルトコードページを使用することになります。
|
戻り値
| String — UTF-8 エンコードされたストリングです。
|
例外
public function readObject():*
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから AMF 直列化形式でエンコードされたオブジェクトを読み取ります。
戻り値
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function readShort():int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから符号付き 16 ビット整数を読み取ります。
戻り値
| int — 値は -32768 ~ 32767 です。
|
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readUnsignedByte():uint
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから符号なしバイトを読み取ります。
戻り値
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readUnsignedInt():uint
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから符号なし 32 ビット整数を読み取ります。
戻り値
| uint — 値は 0 ~ 4294967295 です。
|
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readUnsignedShort():uint
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから符号なし 16 ビット整数を読み取ります。
戻り値
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readUTF():String
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから UTF-8 ストリングを読み取ります。このストリングには、バイト単位で長さを示す符号なし short 型整数が接頭辞として付くことが前提となっています。
戻り値
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function readUTFBytes(length:uint):String
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットから length パラメータで指定した UTF-8 データバイト数を読み取り、ストリングを返します。
パラメータ
| length:uint — 読み取るバイト数です。
|
戻り値
例外
| EOFError — 読み取り可能なデータが十分ではありません。
|
| |
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
public function writeBoolean(value:Boolean):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | 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 |
| Player のバージョン : | Flash Player 9 |
ソケットに書き込むバイトです。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:int — ソケットに書き込む値です。値の下位 8 ビットが使用されます。上位 24 ビットは無視されます。
|
例外
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | 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 |
| Player のバージョン : | Flash Player 9 |
ソケットに IEEE 754 倍精度浮動小数点数を書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
例外
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeFloat(value:Number):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットに IEEE 754 単精度浮動小数点数を書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
例外
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeInt(value:int):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットに 32 ビット符号付き整数を書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:int — ソケットに書き込む値です。
|
例外
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeMultiByte(value:String, charSet:String):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:String — 書き込まれるストリング値です。
|
| |
| charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift_jis"、"CN-GB"、および "iso-8859-1" があります。完全な一覧については、「サポートする文字セット」を参照してください。
|
関連項目
public function writeObject(object:*):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットに AMF 直列化形式でオブジェクトを書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| object:* — 直列化されるオブジェクトです。
|
例外
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeShort(value:int):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | 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 |
| Player のバージョン : | Flash Player 9 |
ソケットに 32 ビット符号なし整数を書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:uint — ソケットに書き込む値です。
|
例外
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
public function writeUTF(value:String):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットに 16 ビット符号なし整数を書き込みます。これによって指定された UTF-8 ストリングの長さがバイト単位で示され、その後にストリングが続きます。
ストリングを書き込む前に、メソッドによってストリングのすべての文字を表すのに必要なバイト数が計算されます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:String — ソケットに書き込むストリングです。
|
例外
関連項目
public function writeUTFBytes(value:String):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ソケットに UTF-8 ストリングを書き込みます。
メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
パラメータ
| value:String — ソケットに書き込むストリングです。
|
例外
| IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連項目
イベントオブジェクトの型: flash.events.Event
Event.type property = flash.events.Event.CLOSE
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
サーバーによりソケット接続が閉じられたときに送出されます。close イベントは、サーバーにより接続が閉じられたときのみ送出されます。Socket.close() メソッドを呼び出しても送出されません。
type プロパティ (
close イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 接続が閉じられたオブジェクトです。 |
イベントオブジェクトの型: flash.events.Event
Event.type property = flash.events.Event.CONNECT
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ネットワーク接続が確立されたときに送出されます。
type プロパティ (
connect イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ネットワーク接続を確立した Socket オブジェクトまたは XMLSocket オブジェクトです。 |
イベントオブジェクトの型: flash.events.IOErrorEvent
IOErrorEvent.type property = flash.events.IOErrorEvent.IO_ERROR
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
入出力エラーが発生して送信またはロード操作が失敗したときに送出されます。
type プロパティ (
ioError イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 入出力エラーが発生したネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
イベントオブジェクトの型: flash.events.SecurityErrorEvent
SecurityErrorEvent.type property = flash.events.SecurityErrorEvent.SECURITY_ERROR
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
Socket.connect() の呼び出しによって、呼び出し元のセキュリティサンドボックスの外にあるサーバーや 1024 未満のポート番号に対して接続しようとしたときに送出されます。
SecurityErrorEvent.SECURITY_ERROR 定数は、
type プロパティ (
securityError イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | セキュリティエラーを報告するネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
関連項目
イベントオブジェクトの型: flash.events.ProgressEvent
ProgressEvent.type property = flash.events.ProgressEvent.SOCKET_DATA
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | 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() の呼び出しで、ホスト名に localhost、ポート番号に 80 を使用する Socket のコンストラクタが呼び出されます。
- 次に
configureListeners() メソッドが呼び出され、このメソッドにより Socket イベントのリスナーが追加されます。
メモ : この例を実行するには、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(host, port);
configureListeners();
}
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();
}
}
© 2004-2007 Adobe Systems Incorporated. All rights reserved.
Thu Oct 25 2007, 12:41 AM GMT-07:00
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/net/Socket.html