Adobe Flex 3 ヘルプ

ネットワーキングとコミュニケーションの基礎

ネットワーキングとコミュニケーションの概要

複雑な ActionScript™ アプリケーションを作成する場合、サーバーサイドスクリプトとの通信や、外部の XML またはテキストファイルのロードが必要になることがよくあります。flash.net パッケージには、インターネットを介したデータ送受信に関するクラスが含まれています。例えば、リモート URL からのコンテンツのロード、他の Flash Player または AIR インスタンスとの通信、リモート Web サイトへの接続などに使用するクラスがあります。

ActionScript 3.0 では、外部ファイルをロードするには URLLoader クラスと URLRequest クラスを使用します。その後、ロードしたデータのタイプに応じて、特定のクラスを使用してデータにアクセスします。例えば、リモートコンテンツが名前と値のペアの形式になっている場合は、URLVariables クラスを使用してサーバーの結果を解析できます。あるいは、URLLoader クラスおよび URLRequest クラスを使用してロードしたファイルがリモート XML ドキュメントである場合は、XML クラスのコントラクタ、XMLDocument クラスのコントラクタまたは XMLDocument.parseXML() メソッドを使用して、XML ドキュメントを解析できます。これにより、URLVariables クラス、XML クラスまたはリモートデータを解析および処理する他のクラスのいずれを使用する場合でも、外部ファイルのロードに関するコードを同じにすることができ、ActionScript コードが簡潔になります。

flash.net パッケージには、他のタイプのリモート通信用クラスも含まれています。例えば、サーバーとのファイルのアップロードおよびダウンロード用の FileReference クラス、ソケット接続を介してリモートコンピュータと直接通信ができる Socket クラスおよび XMLSocket クラス、Flash 固有のサーバーリソース(Flash Media Server や Flash Remoting サーバーなど)との通信やビデオファイルのロードに使用する NetConnection クラスおよび NetStream クラスなどがあります。

また、flash.net パッケージにはユーザーのローカルコンピュータ通信用のクラスが含まれています。1 台のコンピュータ上で実行中の 2 つ以上の SWF ファイル間で通信が可能になる LocalConnection クラス、ユーザーのコンピュータにデータを格納し、後でアプリケーションに戻ったときにそのデータを取得できる SharedObject クラスなどがこれに該当します。

ネットワーキングとコミュニケーションに関する共通タスク

次のリストは、ActionScript からの外部通信に関して最も一般的に行われるタスクを示しています。これらについては、この章で説明します。

  • 外部のファイルまたはサーバースクリプトからのデータのロード
  • サーバースクリプトへのデータの送信
  • 他のローカル SWF ファイルとの通信
  • バイナリソケット接続の操作
  • XML ソケットとの通信
  • ローカルの永続データの保存
  • サーバーへのファイルのアップロード
  • サーバーからユーザーのマシンへのファイルのダウンロード

重要な概念と用語

この章で使用する重要な用語を次の参照リストに示します。

  • 外部データ:SWF ファイルの外部に何らかの形式で格納され、必要なときに SWF ファイル内にロードされるデータです。このデータは、直接ロードされるファイル内や、データベース内に格納できます。また、サーバー上で実行中のプログラムやスクリプトを呼び出すことにより取得できる、その他の形式で格納できます。
  • URL エンコード変数:URL エンコード形式により、1 つのテキストストリング内で複数の変数(変数の名前と値のペア)を表現する方法が提供されます。個々の変数は、name=value という形式で記述されます。各変数(名前と値の各ペア)は、アンパサンド文字で variable1=value1&variable2=value2 のように区切られます。これにより、多くの変数を 1 つのメッセージとして送信できます。
  • MIME タイプ:インターネット通信で、指定されたファイルのタイプを特定するために使用される標準コードです。指定されたすべてのファイルタイプには、識別するための固有のコードが設定されています。ファイルやメッセージの送信時に、Web サーバーやユーザーの Flash Player または AIR インスタンスなどのコンピュータにより、送信するファイルのタイプが指定されます。
  • HTTP:Hypertext Transfer Protocol(ハイパーテキスト転送プロトコル)は、インターネット上で送信される Web ページおよびその他の様々なタイプのコンテンツを提供するための標準形式です。
  • リクエストメソッド:Flash Player などのプログラムや Web ブラウザが HTTP リクエストと呼ばれるメッセージを Web サーバーに送信する場合、送信されるデータはすべて 2 種類のいずれかのリクエストに埋め込まれます。この 2 種類のリクエストメソッドは、GET および POST です。サーバー側では、リクエストを受信するプログラムは、リクエストの該当箇所を確認してデータを探す必要があります。そのため、ActionScript からのデータの送信に使用するリクエストメソッドは、サーバーでそのデータの読み取りに使用するリクエストメソッドと一致している必要があります。
  • ソケット接続:2 台のコンピュータ間での通信に使用される永続的な接続。
  • アップロード:他のコンピュータにファイルを送信することです。
  • ダウンロード:他のコンピュータからファイルを取得することです。

IPv6 アドレスの操作

Flash Player 9.0 以降のバージョンでは、IPv6(Internet Protocol version 6)をサポートしています。IPv6 は、128 ビットアドレスをサポートするインターネットプロトコルです(32 ビットアドレスをサポートする従来の IPv4 プロトコルを改良したものです)。ネットワークインターフェイスの IPv6 をアクティブにする必要があります。詳細については、データをホストしているオペレーティングシステムのヘルプを参照してください。

ホストしているシステムで IPv6 がサポートされている場合は、次のように、数値の IPv6 リテラルアドレスを角括弧([])で囲んで URL に指定できます。

rtmp://[2001:db8:ccc3:ffff:0:444d:555e:666f]:1935/test

Flash Player は、次の規則でリテラル IPv6 値を返します。

  • Flash Player は、長い形式のストリングで IPv6 アドレスを返します。
  • IP 値では、ダブルコロンによる省略は使用できません。
  • 16 進数には、小文字のみ使用できます。
  • IPv6 アドレスは、角括弧([])で囲みます。
  • 各アドレスのブロックは 0 ~ 4 桁の 16 進数で出力され、先頭の 0 は省略されます。
  • すべて 0 のアドレスブロックは、次に挙げる例外を除き、1 桁の 0(ダブルコロンではありません)で出力されます。

Flash Player が返す IPv6 値には、次の例外があります。

  • 未指定の IPv6 アドレス(すべて 0)は、[::] として出力されます。
  • loopback または localhost の IPv6 アドレスは、[::1] として出力されます。
  • IPv4 マップ(IPv6 への変換)アドレスは、[::ffff:a.b.c.d] として出力されます。a.b.c.d は、一般的なドット区切りの IPv4 値です。
  • IPv4 互換アドレスは、[::a.b.c.d] として出力されます。a.b.c.d は、一般的なドット区切りの IPv4 値です。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート