パッケージ | flash.net |
クラス | public class Socket |
継承 | Socket EventDispatcher Object |
実装 | IDataInput, IDataOutput |
サブクラス | SecureSocket |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Socket クラスは、バイナリプロトコルを使用するサーバーとの通信に役立ちます。
Socket クラスのメソッドを使用するには、まず new Socket
コンストラクターを使用して Socket オブジェクトを作成する必要があります。
ソケットはデータの送信と受信を非同期に行います。
オペレーティングシステムによっては、flush() は実行フレーム間で自動的に呼び出されますが、Windows などのオペレーティングシステムでは、flush()
を明示的に呼び出さない限り、データは送信されません。アプリケーションが確実にすべてのオペレーティングシステムで動作するようにするには、各メッセージ(または関連するデータのグループ)をソケットに書き出した後で、flush()
メソッドを呼び出すことをお勧めします。
Adobe AIR では、Socket オブジェクトは、監視中の ServerSocket が外部プロセスからの接続を受信したときにも作成されます。この Socket オブジェクトは、ServerSocketConnectEvent で送出された接続を表します。アプリケーションには、この Socket オブジェクトへの参照を維持する役割があります。維持を行わない場合、この Socket オブジェクトはガベージコレクションの対象となり、警告を表示せずにランタイムによって破棄される可能性があります。
local-with-filesystem セキュリティサンドボックスで実行されている SWF コンテンツはソケットを使用できません。
ターゲットホスト上のソケットポリシーファイルで、SWF ファイルがソケット接続できるホストと、その接続ができるポートを指定します。Flash Player の最近のリリースでは、ソケットポリシーファイルに関するセキュリティ要件が以前より厳密になっています。Flash Player のすべてのバージョンで、ソケットポリシーファイルを使用することをお勧めします。環境によっては、ソケットポリシーファイルの使用が必須となっています。このため、Socket オブジェクトを使用している場合は、必要に応じてターゲットホストがソケットポリシーファイルを提供するようにしてください。
次の一覧は、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 を使うと警告が表示されます。
- AIR では、アプリケーションセキュリティサンドボックス内でコンテンツを実行するためにソケットポリシーファイルは必要ありません。AIR アプリケーションセキュリティサンドボックス外で実行されるコンテンツによって確立されるソケット接続には、ソケットポリシーファイルが必要です。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:セキュリティを参照してください。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
bytesAvailable : uint [読み取り専用]
入力バッファーで読み取ることができるデータのバイト数です。 | Socket | ||
bytesPending : uint [読み取り専用]
書き込みバッファーに残っているデータのバイト数を示します。 | Socket | ||
connected : Boolean [読み取り専用]
この Socket オブジェクトが現在、接続されているかどうかを示します。 | Socket | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
endian : String
データのバイト順を示します。 | Socket | ||
localAddress : String [読み取り専用]
ローカルマシン上でこのソケットがバインドされている IP アドレス。 | Socket | ||
localPort : int [読み取り専用]
ローカルマシン上でこのソケットがバインドされているポート。 | Socket | ||
objectEncoding : uint
オブジェクトの書き込みまたは読み取り時に使用される AMF のバージョンを制御します。 | Socket | ||
remoteAddress : String [読み取り専用]
このソケットが接続されているリモートマシンの IP アドレス。 | Socket | ||
remotePort : int [読み取り専用]
このソケットが接続されているリモートマシンのポート。 | Socket | ||
timeout : uint
接続までの待ち時間(ミリ秒数)を示します。 | Socket |
メソッド | 定義元 | ||
---|---|---|---|
Socket オブジェクトを新規作成します。 | Socket | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | ||
ソケットを閉じます。 | Socket | ||
指定されたホストおよびポートにソケットを接続します。 | Socket | ||
イベントをイベントフローに送出します。 | EventDispatcher | ||
ソケットの出力バッファーに蓄積されたデータをフラッシュします。 | Socket | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ソケットからブール値を読み取ります。 | Socket | ||
ソケットから符号付きバイトを読み取ります。 | Socket | ||
ソケットから、length パラメーターで指定したデータバイト数を読み取ります。 | Socket | ||
ソケットから IEEE 754 倍精度浮動小数点数を読み取ります。 | Socket | ||
ソケットから IEEE 754 単精度浮動小数点数を読み取ります。 | Socket | ||
ソケットから符号付き 32 ビット整数を読み取ります。 | Socket | ||
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを読み取ります。 | Socket | ||
readObject():*
ソケットから AMF 直列化形式でエンコードされたオブジェクトを読み取ります。 | Socket | ||
ソケットから符号付き 16 ビット整数を読み取ります。 | Socket | ||
ソケットから符号なしバイトを読み取ります。 | Socket | ||
ソケットから符号なし 32 ビット整数を読み取ります。 | Socket | ||
ソケットから符号なし 16 ビット整数を読み取ります。 | Socket | ||
ソケットから UTF-8 ストリングを読み取ります。 | Socket | ||
ソケットから length パラメーターで指定した UTF-8 バイト数を読み取り、ストリングを返します。 | Socket | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher | ||
ソケットにブール値を書き込みます。 | Socket | ||
ソケットに 1 バイトを書き込みます。 | Socket | ||
指定したバイト配列のバイトのシーケンスを書き込みます。 | Socket | ||
ソケットに IEEE 754 倍精度浮動小数点数を書き込みます。 | Socket | ||
ソケットに IEEE 754 単精度浮動小数点数を書き込みます。 | Socket | ||
ソケットに 32 ビット符号付き整数を書き込みます。 | Socket | ||
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを書き込みます。 | Socket | ||
ソケットに AMF 直列化形式でオブジェクトを書き込みます。 | Socket | ||
ソケットに 16 ビット整数を書き込みます。 | Socket | ||
ソケットに 32 ビット符号なし整数を書き込みます。 | Socket | ||
指定された UTF-8 ストリングの長さ(バイト単位)を示す 16 ビット符号なし整数をソケットに書き込み、その後にストリング自体を書き込みます。 | Socket | ||
ソケットに UTF-8 ストリングを書き込みます。 | Socket |
イベント | 概要 | 定義元 | ||
---|---|---|---|---|
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | |||
サーバーによりソケット接続が閉じられたときに送出されます。 | Socket | |||
ネットワーク接続が確立されたときに送出されます。 | Socket | |||
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | |||
入出力エラーが発生して送信またはロード操作が失敗したときに送出されます。 | Socket | |||
ソケットによってデータが書き込みバッファーからネットワークトランスポートレイヤーに移動されるときに送出されます | Socket | |||
Socket.connect() への呼び出しが、呼び出し元のセキュリティサンドボックスによって禁止されているサーバーまたは 1024 より下位のポートに接続しようとしたときに、そのような接続を許可するポリシーファイルが存在しない場合に送出されます。 | Socket | |||
ソケットがデータを受信したときに送出されます。 | Socket |
bytesAvailable | プロパティ |
bytesPending | プロパティ |
bytesPending:uint
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3.0 |
書き込みバッファーに残っているデータのバイト数を示します。
このプロパティは OutputProgressEvent と組み合わせて使用します。OutputProgressEvent は、書き込みバッファーからネットワークにデータが書き込まれるたびにスローされます。イベントハンドラーで、bytesPending
をチェックして、バッファー内で書き込みを待機しているデータ量を確認できます。bytesPending
が 0 を返す場合、すべてのデータが書き込みバッファーからネットワークに送信されたことを示します。そのため、イベントハンドラーの削除、ソケット参照への null 設定、キューへの次のアップロードの開始などの処理を安全に実行できます。
実装
public function get bytesPending():uint
関連する API エレメント
connected | プロパティ |
endian | プロパティ |
endian:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
データのバイト順序を示します。指定できる値は flash.utils.Endian クラスの定数で、Endian.BIG_ENDIAN
または Endian.LITTLE_ENDIAN
です。
デフォルト値: Endian.BIG_ENDIAN。
実装
public function get endian():String
public function set endian(value:String):void
関連する API エレメント
localAddress | プロパティ |
localPort | プロパティ |
objectEncoding | プロパティ |
remoteAddress | プロパティ |
remoteAddress:String
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2 |
このソケットが接続されているリモートマシンの IP アドレス。
このプロパティを使用して、ServerSocket オブジェクトによって ServerSocketConnectEvent 内に送出されたクライアントソケットの IP アドレスを特定します。必要な場合は、DNSResolver クラスを使用して、IP アドレスをドメイン名に変換します。
実装
public function get remoteAddress():String
関連する API エレメント
remotePort | プロパティ |
timeout | プロパティ |
Socket | () | コンストラクター |
public function Socket(host:String = null, port:int = 0)
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Socket オブジェクトを新規作成します。パラメーターを指定しないと、初期状態では未接続のソケットが作成されます。パラメーターを指定すると、指定したホストおよびポートへの接続が試行されます。
注意:パラメーターを指定せずにコンストラクターフォームを使用し、さらにいずれかのイベントリスナーを追加し、connect
メソッドを呼び出すことを強く推奨します(ホスト
およびポート
をパラメーターに指定する)。このシーケンスによって、すべてのイベントリスナーが正しく動作するようになります。
host:String (default = null ) — FQDN(完全修飾ドメイン名)、つまり IP アドレスです。IPv4 アドレスは、192.0.2.0 のようにドット区切りの 10 進数表記で指定されます。 Flash Player 9.0.115.0 および AIR 1.0 以降では、2001:db8:ccc3:ffff:0:444d:555e::666f のようにコロン区切りの 16 進数表記を使用して IPv6 アドレスを指定できます。null を指定して、SWF ファイルが存在するホストサーバーに接続することもできます。呼び出し元の SWF ファイルが Web ブラウザー内で実行されている場合は、host が SWF ファイルが作成された元のドメイン内に存在する必要があります。
| |
port:int (default = 0 ) — 接続の確立に使用するターゲットホスト上の TCP ポート番号です。Flash Player 9.0.124.0 以降のバージョンでは、ターゲットホストは、SWF ファイルを提供するホストから指定のポートへのソケット接続を許可するように指定した、ソケットポリシーファイルを提供する必要があります。以前のバージョンの Flash Player では、1024 番未満のポートに接続するか、SWF ファイルを提供しているホスト以外のホストに接続するときのみ、ソケットポリシーファイルが必要です。
|
イベント
connect: — ネットワーク接続が確立されたときに送出されます。
| |
ioError: — 入出力エラーが発生して接続が失敗すると送信されます。
| |
securityError: —
Socket.connect() の呼び出しによって、ソケットポリシーファイルを提供しないサーバーや、特定のポートに対して呼び出し元のホストアクセスを許可しないポリシーファイルを持つサーバーに接続しようとしたときに送出されます。ポリシーファイルについて詳しくは、『ActionScript 3.0 開発ガイド』の「Web サイトのコントロール(ポリシーファイル)」および Flash Player デベロッパーセンターのトピック:セキュリティを参照してください。
|
例外
SecurityError — このエラーは、SWF コンテンツ内で次の理由で発生します。
|
close | () | メソッド |
public function close():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ソケットを閉じます。close()
メソッドが呼び出された後は、データの読み書きはできません。
close
イベントは、サーバーにより接続が閉じられたときのみ送出されます。close()
メソッドを呼び出しても送出されません。
Socket オブジェクトで connect()
メソッドをもう一度呼び出すことで、その Socket オブジェクトを再使用できます。
例外
IOError — ソケットを閉じることができないか、またはソケットが開いていません。.
|
connect | () | メソッド |
public function connect(host:String, port:int):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定されたホストおよびポートにソケットを接続します。
直後に接続が失敗した場合、イベントが送出されるか例外がスローされます。ホストが指定されている場合はエラーイベントが送出され、ホストが指定されていない場合は例外がスローされます。接続が成功した場合は、接続のステータスがイベントにより報告されます。ソケットが既に接続済みの場合、最初に既存の接続が閉じられます。
パラメーター
host:String — 接続するホストのホスト名または IP アドレスです。ホストを指定しないと、接続するホストは、呼び出す ファイルが存在するホストになります。ホストを指定しない場合は、イベントリスナーを使用して接続が成功したかどうかを判定します。
| |
port:int — 接続先のポート番号です。
|
イベント
connect: — ネットワーク接続が確立されたときに送出されます。
| |
ioError: — ホストが指定されていて、入出力エラーが発生して接続が失敗した場合に送出されます。
| |
securityError: — Socket.connect() の呼び出しによって、ソケットポリシーファイルを提供しないサーバーや、特定のポートに対して呼び出し元のホストアクセスを許可しないポリシーファイルを持つサーバーに接続しようとしたときに送出されます。ポリシーファイルについて詳しくは、『ActionScript 3.0 開発ガイド』の「Web サイトのコントロール(ポリシーファイル)」および Flash Player デベロッパーセンターのトピック:セキュリティを参照してください。
|
例外
IOError — ホストが指定されていないので、接続に失敗しました。
| |
SecurityError — このエラーは、SWF コンテンツ内で次の理由で発生します。
|
flush | () | メソッド |
public function flush():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ソケットの出力バッファーに蓄積されたデータをフラッシュします。
オペレーティングシステムによっては、flush() は実行フレーム間で自動的に呼び出されますが、Windows などのオペレーティングシステムでは、flush()
を明示的に呼び出さない限り、データは送信されません。アプリケーションが確実にすべてのオペレーティングシステムで動作するようにするには、各メッセージ(または関連するデータのグループ)をソケットに書き出した後で、flush()
メソッドを呼び出すことをお勧めします。
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readBoolean | () | メソッド |
public function readBoolean():Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ソケットからブール値を読み取ります。1 バイトを読み取った後、メソッドはバイトがゼロ以外の場合は true
、それ以外の場合は false
を返します。
Boolean — 読み取られたバイトがゼロ以外の場合に値は true になり、それ以外の場合は false になります。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readByte | () | メソッド |
readBytes | () | メソッド |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ソケットから、length パラメーターで指定したデータバイト数を読み取ります。このバイトは、指定したバイト配列の、offset
で指定された位置以降に読み込まれます。
パラメーター
bytes:ByteArray — データの読み込み先の ByteArray オブジェクトです。
| |
offset:uint (default = 0 ) — データの読み取りを開始するバイト配列のオフセットです。
| |
length:uint (default = 0 ) — 読み取るバイト数です。デフォルト値の 0 に設定すると、すべてのデータが読み取られます。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readDouble | () | メソッド |
readFloat | () | メソッド |
readInt | () | メソッド |
readMultiByte | () | メソッド |
public function readMultiByte(length:uint, charSet:String):String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを読み取ります。
パラメーター
length:uint — バイトストリームから読み取るバイト数です。
| |
charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift_jis" 、"CN-GB" 、および "iso-8859-1" があります。完全な一覧については、「サポートされている文字セット」を参照してください。
注意: |
String — UTF-8 エンコードされたストリングです。
|
例外
EOFError — 読み取り可能なデータが不足しています。
|
readObject | () | メソッド |
readShort | () | メソッド |
readUnsignedByte | () | メソッド |
readUnsignedInt | () | メソッド |
readUnsignedShort | () | メソッド |
readUTF | () | メソッド |
readUTFBytes | () | メソッド |
public function readUTFBytes(length:uint):String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ソケットから length
パラメーターで指定した UTF-8 バイト数を読み取り、ストリングを返します。
パラメーター
length:uint — 読み取るバイト数です。
|
String — UTF-8 ストリング。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
writeBoolean | () | メソッド |
public function writeBoolean(value:Boolean):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ソケットにブール値を書き込みます。このメソッドは 1 バイトを書き込みます。1(true
の場合)または 0(false
の場合)のいずれかの値が使用されます。
パラメーター
value:Boolean — ソケットに書き込まれる値は、1(true の場合)または 0(false の場合)です。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeByte | () | メソッド |
writeBytes | () | メソッド |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定したバイト配列のバイトのシーケンスを書き込みます。書き込み操作は、offset
で指定された位置から開始されます。
length
パラメーターを省略するとデフォルトの長さ 0 が使用され、offset
の位置からバッファー全体が書き込まれます。
offset
パラメーターを省略した場合も、バッファー全体が書き込まれます。
パラメーター
bytes:ByteArray — データの書き込み元の ByteArray オブジェクトです。
| |
offset:uint (default = 0 ) — データの書き込みを開始する、bytes ByteArray オブジェクトへのゼロから始まるオフセットです。
| |
length:uint (default = 0 ) — 書き込むバイト数です。デフォルト値の 0 に設定すると、offset パラメーターで指定した値以降にバッファー全体が書き込まれます。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
| |
RangeError — offset が bytes で指定された ByteArray の長さよりも長い場合、または offset に length を加えた値によって記述されるように指定されたデータ量が、利用可能なデータを超過した場合に発生します。
|
関連する API エレメント
writeDouble | () | メソッド |
writeFloat | () | メソッド |
writeInt | () | メソッド |
writeMultiByte | () | メソッド |
public function writeMultiByte(value:String, charSet:String):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを書き込みます。
パラメーター
value:String — 書き込まれるストリング値です。
| |
charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift_jis" 、"CN-GB" 、および "iso-8859-1" があります。完全な一覧については、「サポートされている文字セット」を参照してください。
|
関連する API エレメント
writeObject | () | メソッド |
writeShort | () | メソッド |
public function writeShort(value:int):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ソケットに 16 ビット整数を書き込みます。次のようにバイトが書き込まれます。
(v >> 8) & 0xff v & 0xff
パラメーターの下位 16 bit が使用されます。上位 16 bit は無視されます。
パラメーター
value:int — ソケットに書き込む値です。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeUnsignedInt | () | メソッド |
writeUTF | () | メソッド |
public function writeUTF(value:String):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定された UTF-8 ストリングの長さ(バイト単位)を示す 16 ビット符号なし整数をソケットに書き込み、その後にストリング自体を書き込みます。
ストリングを書き込む前に、メソッドによってストリングのすべての文字を表すのに必要なバイト数が計算されます。
パラメーター
value:String — ソケットに書き込むストリングです。
|
例外
RangeError — 長さが 65535 を超えています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeUTFBytes | () | メソッド |
close | イベント |
flash.events.Event
プロパティ Event.type =
flash.events.Event.CLOSE
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
サーバーによりソケット接続が閉じられたときに送出されます。
close
イベントは、サーバーにより接続が閉じられたときのみ送出されます。Socket.close()
メソッドを呼び出しても送出されません。
Event.CLOSE
定数は、type
プロパティ(close
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 接続が閉じられたオブジェクトです。 |
connect | イベント |
flash.events.Event
プロパティ Event.type =
flash.events.Event.CONNECT
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ネットワーク接続が確立されたときに送出されます。
Event.CONNECT
定数は、type
プロパティ(connect
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ネットワーク接続を確立した Socket オブジェクトまたは XMLSocket オブジェクトです。 |
ioError | イベント |
flash.events.IOErrorEvent
プロパティ IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
入出力エラーが発生して送信またはロード操作が失敗したときに送出されます。
type
プロパティ(ioError
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
errorID | 特定のエラーに関連付けられた参照番号です(AIR のみ)。 |
target | 入出力エラーが発生したネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
outputProgress | イベント |
flash.events.OutputProgressEvent
ソケットによってデータが書き込みバッファーからネットワークトランスポートレイヤーに移動されるときに送出されます
securityError | イベント |
flash.events.SecurityErrorEvent
プロパティ SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Socket.connect()
への呼び出しが、呼び出し元のセキュリティサンドボックスによって禁止されているサーバーまたは 1024 より下位のポートに接続しようとしたときに、そのような接続を許可するポリシーファイルが存在しない場合に送出されます。
注意: AIR アプリケーションでは、アプリケーションセキュリティサンドボックスで実行されるコンテンツはソケットポリシーファイルなしでサーバーおよびポート番号に接続できません。
SecurityErrorEvent.SECURITY_ERROR
定数は、type
プロパティ(securityError
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | セキュリティエラーを報告するネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
関連する API エレメント
socketData | イベント |
flash.events.ProgressEvent
プロパティ ProgressEvent.type =
flash.events.ProgressEvent.SOCKET_DATA
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ソケットがデータを受信したときに送出されます。
ソケットが受信するデータは、読み込まれるまでソケットに残ります。このイベントのハンドラーで使用できるすべてのデータを読み込む必要はありません。
socketData
タイプのイベントでは、ProgressEvent.bytesTotal
プロパティは使用されません。
type
プロパティ(socketData
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | Event をアクティブに処理しているオブジェクトです。 |
bytesLoaded | リスナーがイベントを処理しているときに読み込まれたアイテム数またはバイト数です。 |
bytesTotal | 0。このプロパティは、socketData イベントオブジェクトによって使用されません。 |
target | 進行状況をレポートするソケットです。 |
- コンストラクターが
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 { private var socket:CustomSocket; public function SocketExample() { socket = 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(); } }
Tue Jun 12 2018, 10:34 AM Z