| window.runtime プロパティ | window.runtime.flash.net.Socket |
| 継承 | Socket EventDispatcher Object |
| ランタイムバージョン: | 1.0, |
このクラスは、バイナリプロトコルを使用するサーバーとの通信に役立ちます。例えば、このクラスを使用して、メールやニュースサーバーに接続することができます。
Socket での作業
Socket クラスを使用するには、まず、Socket オブジェクト(new Socket())の作成から始めます。パラメーターを付けずにソケットオブジェクトを作成し、リスナーをセットアップして、最後にソケットサーバーのホストパラメーターとポートパラメーターを付けて connect() を呼び出すことをお勧めします。
イベントはソケットの動作を推進します。例えば、ソケットからデータを読み取る準備が終わると、このソケットは ProgressEvent.SOCKET_DATA イベントを開始します。個々のタイプのソケットイベントを処理するために、独自のイベントハンドラーを作成します。ソケットは次のイベントに通知を送信します。
- ソケットサーバーとの接続が確立されました
- ソケットサーバーによりソケットが閉じられました
- 読み取りバッファーからデータを読み取れるようになりました
- データは書き込みバッファーからネットワークに転送されるのを待機しています
- エラーが発生しました
ソケットデータの読み取り: データを読み取る準備が完了すると、ソケットは flash.events.ProgressEvent.SOCKET_DATA イベントを開始します。データが到着するのを待機して、頻繁に行われるポーリングループの中にソケットを置いたままにしないでください。データの読み取りは、ProgressEvent.SOCKET_DATA イベントを受信した後にのみ行います。ソケットから使用可能なデータの一部、またはすべてを読み取ることができます。
ソケットデータの書き込み: 一部のオペレーティングシステムでは、実行フレーム間で、自動的に flush() が呼び出されます。Windows などその他のオペレーティングシステムでは、ユーザーが明示的に flush() を呼び出さなければ、データは送信されません。ソケットにメッセージ(または関連するデータのグループ)を書き込むたびに、flush() メソッドを呼び出すことをお勧めします。
Adobe AIR では、Socket オブジェクトは、監視中の ServerSocket が外部プロセスからの接続を受信したときにも作成されます。この Socket オブジェクトは、ServerSocketConnectEvent で送出された接続を表します。この Socket オブジェクトへの参照を維持する責任はユーザーにあります。参照を維持しなかった場合、Socket オブジェクトはガベージコレクションの対象になります。ガベージコレクションの対象となったオブジェクトは、実行時に破棄されます。警告は表示されません。
Socket セキュリティとポリシー ファイル
local-with-filesystem セキュリティサンドボックスで実行されている SWF コンテンツはソケットを使用できません。
ターゲットホストのソケットポリシーファイルでホストを指定します。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 | ||
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
| remoteAddress : String [読み取り専用]
このソケットが接続されているリモートマシンの IP アドレス。 | Socket | ||
| remotePort : int [読み取り専用]
このソケットが接続されているリモートマシンのポート。 | Socket | ||
| timeout : uint
接続までの待ち時間(ミリ秒数)を示します。 | Socket | ||
| メソッド | 定義元 | ||
|---|---|---|---|
Socket(host:String = null, port:int = 0)
Socket オブジェクトを作成します。 | Socket | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | |
close():void
ソケットを閉じます。 | Socket | ||
connect(host:String, port:int):void
指定されたホストおよびポートにソケットを接続します。 | Socket | ||
![]() | dispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。 | EventDispatcher | |
flush():void
ソケットの出力バッファーに蓄積されたデータをフラッシュします。 | Socket | ||
![]() | hasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | |
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
readBoolean():Boolean
ソケットからブール値を読み取ります。 | Socket | ||
readByte():int
ソケットから符号付きバイトを読み取ります。 | Socket | ||
ソケットから、length パラメーターで指定したデータバイト数を読み取ります。 | Socket | ||
readDouble():Number
ソケットから IEEE 754 倍精度浮動小数点数を読み取ります。 | Socket | ||
readFloat():Number
ソケットから IEEE 754 単精度浮動小数点数を読み取ります。 | Socket | ||
readInt():int
ソケットから符号付き 32 bit 整数を読み取ります。 | Socket | ||
readMultiByte(length:uint, charSet:String):String
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを読み取ります。 | Socket | ||
readObject():*
ソケットから AMF 直列化形式でエンコードされたオブジェクトを読み取ります。 | Socket | ||
readShort():int
ソケットから符号付き 16 bit 整数を読み取ります。 | Socket | ||
readUnsignedByte():uint
ソケットから符号なしバイトを読み取ります。 | Socket | ||
readUnsignedInt():uint
ソケットから符号なし 32 bit 整数を読み取ります。 | Socket | ||
readUnsignedShort():uint
ソケットから符号なし 16 bit 整数を読み取ります。 | Socket | ||
readUTF():String
ソケットから UTF-8 ストリングを読み取ります。 | Socket | ||
readUTFBytes(length:uint):String
ソケットから length パラメーターで指定した UTF-8 バイト数を読み取り、ストリングを返します。 | Socket | ||
![]() | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | |
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() | toLocaleString():String
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | |
![]() | toString():String
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() | valueOf():Object
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
![]() | willTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher | |
writeBoolean(value:Boolean):void
ソケットにブール値を書き込みます。 | Socket | ||
writeByte(value:int):void
ソケットに 1 バイトを書き込みます。 | Socket | ||
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
指定したバイト配列のバイトのシーケンスを書き込みます。 | Socket | ||
writeDouble(value:Number):void
ソケットに IEEE 754 倍精度浮動小数点数を書き込みます。 | Socket | ||
writeFloat(value:Number):void
ソケットに IEEE 754 単精度浮動小数点数を書き込みます。 | Socket | ||
writeInt(value:int):void
ソケットに 32 bit 符号付き整数を書き込みます。 | Socket | ||
writeMultiByte(value:String, charSet:String):void
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを書き込みます。 | Socket | ||
writeObject(object:*):void
ソケットに AMF 直列化形式でオブジェクトを書き込みます。 | Socket | ||
writeShort(value:int):void
ソケットに 16 bit 整数を書き込みます。 | Socket | ||
writeUnsignedInt(value:uint):void
ソケットに 32 bit 符号なし整数を書き込みます。 | Socket | ||
writeUTF(value:String):void
次のデータをソケットに書き込みます:16 bit 符号なし整数。 | Socket | ||
writeUTFBytes(value:String):void
ソケットに UTF-8 ストリングを書き込みます。 | Socket | ||
| イベント | 概要 | 定義元 | ||
|---|---|---|---|---|
![]() | [ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
| サーバーによりソケット接続が閉じられたときに送出されます。 | Socket | |||
| ネットワーク接続が確立されたときに送出されます。 | Socket | |||
![]() | [ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | ||
| 入出力エラーが発生して送信またはロード操作が失敗したときに送出されます。 | Socket | |||
| ソケットによってデータが書き込みバッファーからネットワークトランスポートレイヤーに移動されるときに送出されます。 | Socket | |||
| Socket.call() の呼び出しによって呼び出し元のセキュリティサンドボックスにより禁止されているサーバーに接続しようとすると送出されます。 | Socket | |||
| ソケットがデータを受信したときに送出されます。 | Socket | |||
bytesAvailable | プロパティ |
bytesAvailable:uint [読み取り専用] | ランタイムバージョン: | 1.0, |
入力バッファーで読み取ることができるデータのバイト数です。
コードでは、bytesAvailable にアクセスして入力バッファーの空き容量を確認してから、read メソッドの 1 つを使用してデータを読み取る必要があります。
bytesPending | プロパティ |
bytesPending:uint [読み取り専用] | ランタイムバージョン: | 3 |
ソケットの書き込みバッファーからネットワークトランスポートレイヤーへの転送を待機しているデータの量を示します(バイト単位)。
次の操作は、bytesPending の値に影響を与えます。
-
Socket.connect()を呼び出すと、bytesPendingが 0 に設定されます。 -
Socket.write*()メソッドの 1 つを呼び出して、書き込みバッファーにデータを追加すると、bytesPendingが更新されます。 -
オペレーティングシステムにより、書き込みバッファーからネットワークトランスポートレイヤーソケットにデータが移動されると、
bytesPendingが更新されます。 -
Socket.close()を呼び出すと、bytesPendingが 0 に設定されます(書き込みバッファーはソケットを閉じたときに破棄されます)。
connected | プロパティ |
connected:Boolean [読み取り専用] | ランタイムバージョン: | 1.0, |
この Socket オブジェクトが現在、接続されているかどうかを示します。このプロパティの呼び出しは、現在ソケットが接続されている場合に値 true を、それ以外の場合は false を返します。
endian | プロパティ |
endian:String| ランタイムバージョン: | 1.0, |
データのバイト順序を示します。指定できる値は flash.utils.Endian クラスの定数で、Endian.BIG_ENDIAN または Endian.LITTLE_ENDIAN です。
デフォルト値: Endian.BIG_ENDIAN。
関連する API エレメント
localAddress | プロパティ |
localPort | プロパティ |
objectEncoding | プロパティ |
objectEncoding:uint| ランタイムバージョン: | 1.0, |
オブジェクトの書き込みまたは読み取り時に使用される AMF のバージョンを制御します。
関連する API エレメント
remoteAddress | プロパティ |
remoteAddress:String [読み取り専用] | ランタイムバージョン: | 2 |
このソケットが接続されているリモートマシンの IP アドレス。
このプロパティを使用して、ServerSocket オブジェクトによって ServerSocketConnectEvent 内に送出されたクライアントソケットの IP アドレスを特定します。DNSResolver クラスを使用すると、IP アドレスをドメイン名に変換できます。
関連する API エレメント
remotePort | プロパティ |
remotePort:int [読み取り専用] | ランタイムバージョン: | 2 |
このソケットが接続されているリモートマシンのポート。
このプロパティを使用して、ServerSocket オブジェクトによって ServerSocketConnectEvent 内に送出されたクライアントソケットのポート番号を特定します。
関連する API エレメント
timeout | プロパティ |
timeout:uint| ランタイムバージョン: | 1.5 |
接続までの待ち時間(ミリ秒数)を示します。
指定した時間内に接続できなかったときは、接続が失敗することになります。デフォルト値は 20,000(20 秒)です。
Socket | () | コンストラクター |
public function Socket(host:String = null, port:int = 0)| ランタイムバージョン: | 1.0, |
Socket オブジェクトを作成します。パラメーターを指定しないと、初期状態では未接続のソケットが作成されます。パラメーターを指定すると、指定したホストおよびポートへの接続が試行されます。
注意: コントラクターフォームをパラメーターを付けずに使用することを強くお勧めします。次に、イベントリスナーを追加し、host および port パラメーターを付けて connect メソッドを呼び出します。このシーケンスによって、すべてのイベントリスナーが正しく動作します。
host:String (default = null) — FQDN(完全修飾ドメイン名)、つまり IP アドレスです。IPv4 アドレスは、192.0.2.0 のようにドット区切りの 10 進数表記で指定されます。 Flash Player 9.0.115.0 および AIR 1.0 以降では、コロン区切りの 16 進数表記を使用して IPv6 アドレスを指定できます。IPv6 アドレスは、例えば、2001:db8:ccc3:ffff:0:444d:555e:666f のようになります。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: — このエラーは SWF コンテンツで発生します。 Socket.connect() の呼び出しによって、ソケットポリシーファイルを提供しないサーバーや、特定のポートに対して呼び出し元のホストアクセスを許可しないポリシーファイルを持つサーバーに接続しようとしたときに送出されます。ポリシーファイルについて詳しくは、『ActionScript 3.0 開発ガイド』の「Web サイトのコントロール(ポリシーファイル)」および Flash Player デベロッパーセンターのトピック「セキュリティ」を参照してください。 |
例外
SecurityError — このエラーは SWF コンテンツで発生します。
|
close | () | メソッド |
public function close():void| ランタイムバージョン: | 1.0, |
ソケットを閉じます。close() メソッドが呼び出された後は、データの読み書きはできません。
close イベントは、サーバーにより接続が閉じられたときのみ送出されます。close() メソッドを呼び出しても送出されません。
Socket オブジェクトで connect() メソッドをもう一度呼び出すことで、その Socket オブジェクトを再使用できます。
例外
IOError — ソケットを閉じることができないか、またはソケットが開いていません。.
|
connect | () | メソッド |
public function connect(host:String, port:int):void| ランタイムバージョン: | 1.0, |
指定されたホストおよびポートにソケットを接続します。
直後に接続が失敗した場合、イベントが送出されるか例外がスローされます。ホストが指定されている場合はエラーイベントが送出され、ホストが指定されていない場合は例外がスローされます。それ以外の場合、イベントにより、接続のステータスがレポートされます。ソケットが既に接続済みの場合、最初に既存の接続が閉じられます。
注意 : ソケットへの接続に関するベストプラクティスについては、Socket クラスの説明を参照してください。
パラメーター
host:String — 接続するホストのホスト名または IP アドレスです。ホストを指定しないと、接続するホストは、呼び出す ファイルが存在するホストになります。ホストを指定しない場合は、イベントリスナーを使用して接続が成功したかどうかを判定します。
| |
port:int — 接続先のポート番号です。
|
イベント
connect: — ネットワーク接続が確立されたときに送出されます。 | |
ioError: — ホストが指定されていて、入出力エラーが発生して接続が失敗した場合に送出されます。 | |
securityError: — Socket.connect() の呼び出しによって、ソケットポリシーファイルを提供しないサーバーや、特定のポートに対して呼び出し元のホストアクセスを許可しないポリシーファイルを持つサーバーに接続しようとしたときに送出されます。ポリシーファイルについて詳しくは、『ActionScript 3.0 開発ガイド』の「Web サイトのコントロール(ポリシーファイル)」および Flash Player デベロッパーセンターのトピック「セキュリティ」を参照してください。 |
例外
IOError — ホストが指定されていないので、接続に失敗しました。
| |
SecurityError — このエラーは SWF コンテンツで発生します。
|
さらに例を参照
flush | () | メソッド |
public function flush():void| ランタイムバージョン: | 1.0, |
ソケットの出力バッファーに蓄積されたデータをフラッシュします。
オペレーティングシステムによっては、flush() は実行フレーム間で自動的に呼び出されますが、Windows などのオペレーティングシステムでは、flush() を明示的に呼び出さない限り、データは送信されません。ソケットに書き込みを行うたびに、flush() メソッドを呼び出すことをお勧めします。
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readBoolean | () | メソッド |
public function readBoolean():Boolean| ランタイムバージョン: | 1.0, |
ソケットからブール値を読み取ります。1 バイトを読み取った後、メソッドはバイトがゼロ以外の場合は true、それ以外の場合は false を返します。
Boolean — 読み取られたバイトがゼロ以外の場合に値は true になり、それ以外の場合は false になります。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readByte | () | メソッド |
public function readByte():int| ランタイムバージョン: | 1.0, |
ソケットから符号付きバイトを読み取ります。
戻り値int — 値は -128 ~ 127 です。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readBytes | () | メソッド |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| ランタイムバージョン: | 1.0, |
ソケットから、length パラメーターで指定したデータバイト数を読み取ります。このバイトは、指定したバイト配列の、offset で指定された位置以降に読み込まれます。
パラメーター
bytes:ByteArray — データの読み込み先の ByteArray オブジェクトです。
| |
offset:uint (default = 0) — バイト配列でデータの読み取りが開始されるオフセットです。
| |
length:uint (default = 0) — 読み取るバイト数です。デフォルト値の 0 に設定すると、すべてのデータが読み取られます。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readDouble | () | メソッド |
public function readDouble():Number| ランタイムバージョン: | 1.0, |
ソケットから IEEE 754 倍精度浮動小数点数を読み取ります。
戻り値Number — IEEE 754 倍精度浮動小数点数です。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readFloat | () | メソッド |
public function readFloat():Number| ランタイムバージョン: | 1.0, |
ソケットから IEEE 754 単精度浮動小数点数を読み取ります。
戻り値Number — IEEE 754 単精度浮動小数点数です。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readInt | () | メソッド |
public function readInt():int| ランタイムバージョン: | 1.0, |
ソケットから符号付き 32 bit 整数を読み取ります。
戻り値int — 値は -2147483648 ~ 2147483647 です。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readMultiByte | () | メソッド |
public function readMultiByte(length:uint, charSet:String):String| ランタイムバージョン: | 1.0, |
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを読み取ります。
パラメーター
length:uint — バイトストリームから読み取るバイト数です。
| |
charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift_jis"、"CN-GB"、および "iso-8859-1" があります。完全な一覧については、「サポートされている文字セット」を参照してください。
注意: |
String — UTF-8 エンコードされたストリングです。
|
例外
EOFError — 読み取り可能なデータが不足しています。
|
readObject | () | メソッド |
public function readObject():*| ランタイムバージョン: | 1.0, |
ソケットから AMF 直列化形式でエンコードされたオブジェクトを読み取ります。
戻り値* — 非直列化されたオブジェクトです。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
readShort | () | メソッド |
public function readShort():int| ランタイムバージョン: | 1.0, |
ソケットから符号付き 16 bit 整数を読み取ります。
戻り値int — 値は -32768 ~ 32767 です。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readUnsignedByte | () | メソッド |
public function readUnsignedByte():uint| ランタイムバージョン: | 1.0, |
ソケットから符号なしバイトを読み取ります。
戻り値uint — 値は 0 ~ 255 です。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readUnsignedInt | () | メソッド |
public function readUnsignedInt():uint| ランタイムバージョン: | 1.0, |
ソケットから符号なし 32 bit 整数を読み取ります。
戻り値uint — 値は 0 ~ 4294967295 です。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readUnsignedShort | () | メソッド |
public function readUnsignedShort():uint| ランタイムバージョン: | 1.0, |
ソケットから符号なし 16 bit 整数を読み取ります。
戻り値uint — 値は 0 ~ 65535 です。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readUTF | () | メソッド |
public function readUTF():String| ランタイムバージョン: | 1.0, |
ソケットから UTF-8 ストリングを読み取ります。このメソッドは、文字列の先頭に、長さ(バイト単位)を表す符号なしの Short 整数が付いていることを前提にしています。
戻り値String — UTF-8 ストリング。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
readUTFBytes | () | メソッド |
public function readUTFBytes(length:uint):String| ランタイムバージョン: | 1.0, |
ソケットから length パラメーターで指定した UTF-8 バイト数を読み取り、ストリングを返します。
パラメーター
length:uint — 読み取るバイト数です。
|
String — UTF-8 ストリング。
|
例外
EOFError — 読み取り可能なデータが不足しています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
writeBoolean | () | メソッド |
public function writeBoolean(value:Boolean):void| ランタイムバージョン: | 1.0, |
ソケットにブール値を書き込みます。このメソッドは 1 バイトを書き込みます。1(true の場合)または 0(false の場合)のいずれかの値が使用されます。
パラメーター
value:Boolean — ソケットに書き込まれる値は、1(true の場合)または 0(false の場合)です。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeByte | () | メソッド |
public function writeByte(value:int):void| ランタイムバージョン: | 1.0, |
ソケットに 1 バイトを書き込みます。
パラメーター
value:int — ソケットに書き込む値です。値の下位 8 ビットが使用されます。上位 24 ビットは無視されます。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeBytes | () | メソッド |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| ランタイムバージョン: | 1.0, |
指定したバイト配列のバイトのシーケンスを書き込みます。書き込み操作は、offset で指定された位置から開始されます。
length パラメーターを省略するとデフォルトの長さ 0 が使用され、offset の位置からバッファー全体が書き込まれます。
また、offset パラメーターが省略された場合、メソッドはバッファー全体に書き込みを行います。
パラメーター
bytes:ByteArray — データの書き込み元の ByteArray オブジェクトです。
| |
offset:uint (default = 0) — bytes ByteArray オブジェクトへの 0 から始まるオフセットです。データの書き込みはここから開始されます。
| |
length:uint (default = 0) — 書き込むバイト数です。デフォルト値は 0 です。この場合、メソッドによってバッファー全体が書き込まれます。書き込みは、offset パラメーターで指定された値の位置から開始されます。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
| |
RangeError — offset が bytes で指定された ByteArray の長さよりも長い場合、または offset に length を加えた値によって指定されたデータ量が、利用可能なデータを超過した場合に発生します。
|
関連する API エレメント
writeDouble | () | メソッド |
public function writeDouble(value:Number):void| ランタイムバージョン: | 1.0, |
ソケットに IEEE 754 倍精度浮動小数点数を書き込みます。
パラメーター
value:Number — ソケットに書き込む値です。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeFloat | () | メソッド |
public function writeFloat(value:Number):void| ランタイムバージョン: | 1.0, |
ソケットに IEEE 754 単精度浮動小数点数を書き込みます。
パラメーター
value:Number — ソケットに書き込む値です。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeInt | () | メソッド |
public function writeInt(value:int):void| ランタイムバージョン: | 1.0, |
ソケットに 32 bit 符号付き整数を書き込みます。
パラメーター
value:int — ソケットに書き込む値です。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeMultiByte | () | メソッド |
public function writeMultiByte(value:String, charSet:String):void| ランタイムバージョン: | 1.0, |
指定した文字セットを使用して、バイトストリームからマルチバイトストリングを書き込みます。
パラメーター
value:String — 文字列の内容。
| |
charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift_jis"、"CN-GB"、および "iso-8859-1" があります。完全な一覧については、「サポートされている文字セット」を参照してください。
|
関連する API エレメント
writeObject | () | メソッド |
public function writeObject(object:*):void| ランタイムバージョン: | 1.0, |
ソケットに AMF 直列化形式でオブジェクトを書き込みます。
パラメーター
object:* — 直列化されるオブジェクトです。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeShort | () | メソッド |
public function writeShort(value:int):void| ランタイムバージョン: | 1.0, |
ソケットに 16 bit 整数を書き込みます。次のようにバイトが書き込まれます。
(v >> 8) & 0xff v & 0xff
パラメーターの下位 16 ビットが使用されます。上位 16 ビットは無視されます。
パラメーター
value:int — ソケットに書き込む値です。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeUnsignedInt | () | メソッド |
public function writeUnsignedInt(value:uint):void| ランタイムバージョン: | 1.0, |
ソケットに 32 bit 符号なし整数を書き込みます。
パラメーター
value:uint — ソケットに書き込む値です。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeUTF | () | メソッド |
public function writeUTF(value:String):void| ランタイムバージョン: | 1.0, |
次のデータをソケットに書き込みます:
- 16 bit 符号なし整数。この整数は、指定された UTF-8 文字列の長さをバイト数で表したものです。
- 指定された UTF-8 文字列。
文字列を書き込む前に、メソッドによって文字列のすべての文字を表すのに必要なバイト数が計算されます。
パラメーター
value:String — ソケットに書き込むストリングです。
|
例外
RangeError — 長さが 65535 を超えています。
| |
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
writeUTFBytes | () | メソッド |
public function writeUTFBytes(value:String):void| ランタイムバージョン: | 1.0, |
ソケットに UTF-8 ストリングを書き込みます。
パラメーター
value:String — ソケットに書き込むストリングです。
|
例外
IOError — ソケットで I/O エラーが発生したか、ソケットが開いていません。
|
関連する API エレメント
close | イベント |
flash.events.Eventプロパティ Event.type =
flash.events.Event.CLOSE| ランタイムバージョン: | 1.0, |
サーバーによりソケット接続が閉じられたときに送出されます。
close イベントは、サーバーにより接続が閉じられたときのみ送出されます。Socket.close() メソッドを呼び出しても送出されません。
Event.CLOSE 定数は、type プロパティ(close イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 接続が閉じられたオブジェクトです。 |
connect | イベント |
flash.events.Eventプロパティ Event.type =
flash.events.Event.CONNECT| ランタイムバージョン: | 1.0, |
ネットワーク接続が確立されたときに送出されます。
Event.CONNECT 定数は、type プロパティ(connect イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ネットワーク接続を確立した Socket オブジェクトまたは XMLSocket オブジェクトです。 |
ioError | イベント |
flash.events.IOErrorEventプロパティ IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR| ランタイムバージョン: | 1.0, |
入出力エラーが発生して送信またはロード操作が失敗したときに送出されます。
type プロパティ(ioError イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
errorID | 特定のエラーに関連付けられた参照番号です(AIR のみ)。 |
target | 入出力エラーが発生したネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
outputProgress | イベント |
flash.events.OutputProgressEventプロパティ OutputProgressEvent.type =
flash.events.OutputProgressEvent.OUTPUT_PROGRESS| ランタイムバージョン: | 3 |
ソケットによってデータが書き込みバッファーからネットワークトランスポートレイヤーに移動されるときに送出されます。書き込みバッファーで保留になっているデータの量を判断するには、このイベントオブジェクトで bytesPending プロパティを使用します。
このイベントを使用すると、例えば、ソケットを使用しているアプリケーションを操作の完了前に閉じてしまった場合に、データの損失を防ぐことができます。ソケットを閉じる前、またはソケットをガベージコレクションに出す前に、ソケットプロパティ bytesPending が 0 になっていることを確認します。
このイベントの詳細と例については、Socket Improvements in AIR 3 を参照してください。
type プロパティ(outputProgress イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
bytesPending | リスナーがイベントを処理する時点でまだ書き込まれていないバイト数です。 |
bytesTotal | 書き込みプロセスが成功した場合に最終的に書き込まれるバイトの総数です。 |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 進行状況をレポートする FileStream オブジェクトです。 |
securityError | イベント |
flash.events.SecurityErrorEventプロパティ SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR| ランタイムバージョン: | 1.0, |
Socket.call() の呼び出しによって呼び出し元のセキュリティサンドボックスにより禁止されているサーバーに接続しようとすると送出されます。このイベントは、ポート ID が 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| ランタイムバージョン: | 1.0, |
ソケットがデータを受信したときに送出されます。
ソケットが受信するデータは、読み込まれるまでソケットに残ります。このイベントが通知されたら、受信したデータの一部、またはすべてを読み込むことができます。
注意 : socketData タイプのイベントでは、ProgressEvent.bytesTotal プロパティは使用されません。
type プロパティ(socketData イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | Event をアクティブに処理しているオブジェクトです。 |
bytesLoaded | リスナーがイベントを処理しているときに読み込まれたアイテム数またはバイト数です。 |
bytesTotal | 0。このプロパティは、socketData イベントオブジェクトによって使用されません。 |
target | 進行状況をレポートするソケットです。 |
注意:この例をテストするには、次の操作を実行します。
- プロジェクトディレクトリに AIRAliases.js ファイルを追加します。
Socket()コンストラクターが有効な URL とポートを指定するようにコードを変更します。- プロジェクトのアプリケーション記述ファイルを作成し、ADL を使用してプロジェクトをテストします。
<html>
<head>
<script src="AIRAliases.js" />
<script>
var socket;
var response;
function init() {
socket = new air.Socket("localhost", 80);
socket.addEventListener(air.Event.CLOSE, closeHandler);
socket.addEventListener(air.Event.CONNECT, connectHandler);
socket.addEventListener(air.IOErrorEvent.IO_ERROR, ioErrorHandler);
socket.addEventListener(air.SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
socket.addEventListener(air.ProgressEvent.SOCKET_DATA, socketDataHandler);
}
function writeln(str) {
str += "\n";
try {
socket.writeUTFBytes(str);
}
catch(e) {
air.trace(e);
}
}
function sendRequest() {
air.trace("sendRequest");
response = "";
writeln("GET /");
socket.flush();
}
function readResponse() {
var str = socket.readUTFBytes(socket.bytesAvailable);
response += str;
}
function closeHandler(event) {
air.trace("closeHandler: " + event);
air.trace(response.toString());
}
function connectHandler(event) {
air.trace("connectHandler: " + event);
sendRequest();
}
function ioErrorHandler(event) {
air.trace("ioErrorHandler: " + event);
}
function securityErrorHandler(event) {
air.trace("securityErrorHandler: " + event);
}
function socketDataHandler(event) {
air.trace("socketDataHandler: " + event);
readResponse();
}
</script>
</head>
<body onload='init()'>
</body>
</html>
Tue Oct 25 2011, 05:14 AM -07:00

継承されるパブリックプロパティを隠す
継承プロパティの表示