ホームページ バックエンド開発 PHPチュートリアル AMFPHP コース シリーズ: AMF プロトコルを理解する

AMFPHP コース シリーズ: AMF プロトコルを理解する

Jun 13, 2016 pm 01:08 PM
flash soap

AMFPHP チュートリアル シリーズ: AMF プロトコルを理解する

アクションメッセージフォーマット(AMF)
AMF は、SOAP (Simple Object Access Protocol、シンプル オブジェクト アクセス プロトコル) に大まかに基づいたバイナリ形式です。主にAdobeで使用されます フラッシュアプリ プログラムデータ RPC (リモート プロシージャ コール) を介してライブラリ間でデータを交換します。
各 AMF メッセージには、エラーと応答を含む本文が含まれており、これらは As オブジェクトとして表現されます。
AMF は Flash Player 6 で導入され、AMF0 と呼ばれます。Flash Player 9 および As3.0 (新しいデータ型と言語スタイルにより AMF3 と呼ばれるアップデートが行われました) まで変更されませんでした。
データ型データ型
AMF には、データのシリアル化中に常に存在するいくつかのコア データ型が含まれています:
バイト-----単純な 8 ビットのデータ。これはデータを転送する最も簡単な方法です。
Int----------16 ビット数値は、連続する 2 バイトで構成されます。最初のバイトはより重要であり、2 番目のバイトはそれほど重要ではありません。
MediumInt-----上記と同様の 24 ビット数値ですが、長さだけが異なります。
Long-----32 ビットの数値。上記と同じですが、より長くなります。
Double --- 64 ビット数値は 8 つの連続したバイトで構成されます。符号付き浮動小数点数を表します。 Double はリトルエンディアンに従ってエンコードされます (下位バイトが後ろにあるのですか? 翻訳者にはわかりません (笑))。
UTF8 --- UTF8 文字列の長さは 2^16 (65536) バイト未満です。これは、文字列の長さを表す整数 (2 バイト) と、その後に続く UTF-8 エンコード文字列で構成されます。
LongUTF8---UTF8 文字列は 2^16 バイトよりも長くなる可能性があります。これは、文字列の長さを表す長整数 (4 バイト) と、その後に続く UTF8 エンコード文字列で構成されます。

?

Flash 5 は XML として使用できます または、サーバーにデータを送信するための「変数/値」ペアの出力形式。これらのデータは Flash を通じてコン​​パイルできますが、 サーバーによって自動的に解析されるか、 を通じて開発されます。 人が書いたコードは手動で解析されますが、解析速度は遅いです。解析プロセス中に、XML はノードごとにデータ層を処理する必要があるためです。また、XML および「変数/値」の組み合わせ形式で処理されるデータ型は文字型のみであり、数値も例外ではありません。 Flash Remoting は、Object などの複雑なデータ型を処理できます。 、構造体、配列 、または DataGrid と一致するデータセットでも コンポーネント データを簡単に表示できます。

複雑なデータ型を処理するために、独自の方法を使用して Flash をアプリケーションと統合します。 サーバー間でデータを送受信できることが不可欠です。そこでAMFが誕生しました。 AMF は Adobe です 独自に開発されたコミュニケーション バイナリ圧縮、シリアル化、逆シリアル化、およびデータ送信を使用して Flash プレーヤー を提供するプロトコル Flash Remoting ゲートウェイとの通信により、軽量で高性能な通信方法が提供されます。以下に示すように。


AMFの最大の特徴は、Object、Array、Date、などの組み込みFlashオブジェクトを直接変換できることです。 XML はサーバーに送り返され、サーバー上で適切なオブジェクトに自動的に解析されるため、開発者は複雑な作業から解放され、開発時間を節約できます。 AMFはバイナリエンコーディングを使用するため、この方法は この形式はデータを高度に圧縮できるため、大量のデータを送信するのに非常に適しています。 Flash Remotingはデータ量が大きくなるほど伝送効率が高く、Webをはるかに上回ります。 サービス。 XMLに関しては、LoadVarsとloadVaria bles() では、プレーンテキスト送信方式が使用されており、パフォーマンスは Flash Remoting とは比較できません。

注: Flash Remoting を使用するには、ブラウザがバイナリ POST をサポートしている必要があります。Flash プレーヤーが Nets cape 6.x 環境で実行されている場合、Flash Remoting は機能しません (Flash Remoting 呼び出し )。 効果なし はエラーを返しません)、Nets cape 7 ではこのバグが修正されました。この問題は、Mac の初期の Safari および Chim 時代のバージョンにも存在します。

これは軽量のデータ交換プロトコルでもあり、リモート サービスも呼び出し、標準の HTTP および HTTPS プロトコルに基づいています。Flash Remoting が Flash プレーヤーとの通信に SOAP ではなく AMF を使用することを選択した理由は次のとおりです。

SOAP はデータを XML 形式に処理しますが、バイナリ AFM に比べて冗長すぎます。 AMF はより効率的にデータをシリアル化できます。これは、AMF の本来の目的は Flash ActionScript データ型をサポートすることだけですが、SOAP はより幅広い用途を提供することに注力しているためです。 AMF は Flash Player 6 をサポートしており、ブラウザのサイズは (圧縮後) 約 4 KB 増加するだけで済みますが、SOAP ははるかに大きくなります。 一部の SOAP ヘッダー ファイル リクエストは、Flash Player 6 ではサポートされていません。では、なぜ Flash Player 6 は SOAP ベースの Web サービスにアクセスできるのでしょうか?オリジナルフラッシュ Remoting ゲートウェイは、サーバー側で SOAP リクエストを AFM 形式に変換し、AFM を使用して Flash プレーヤーと通信します。さらに、AMF パッケージには次のものが含まれています

結果イベント (応答イベントなど) および onStatus イベント (エラー イベントなど)、これらのイベント オブジェクトは Flash で直接使用できます。
AMFはFlash MX時代のAMF0から現在のAMF3まで発展してきました。 Flash Playe 9のActionScriptとしてAMF3を使用 ActionScript 3.0 のデフォルトのシリアル化形式ですが、古いバージョンの ActionScript 1.0 および 2.0 では AMF0 がシリアル化形式として使用されます。 ネットワークデータ送信の点では、AMF3 は AMF0 よりも 効率的です 。 AMF3 は、int および uint オブジェクトを整数として送信でき、ByteArray、XML、Iexternalizable など、ActionScript 3.0 でのみサポートされるデータ型をシリアル化できます。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP と SOAP を使用して Web サービスの呼び出しと開発を実装する方法 PHP と SOAP を使用して Web サービスの呼び出しと開発を実装する方法 Jun 25, 2023 am 09:59 AM

Web 開発の分野では、Web サービスは、さまざまなアプリケーションが相互に通信して、より複雑で強力なシステムを構築できるようにする非常に重要なテクノロジです。この記事では、PHP と SOAP を使用して Web サービスの呼び出しと開発を実装する方法を詳しく説明します。 SOAP (SimpleObjectAccessProtocol) は、異なるアプリケーション間の情報交換に使用される XML ベースのプロトコルです。 SOAP は重要な Web サービス標準です

PHP と SOAP: データの同期および非同期処理を実現する方法 PHP と SOAP: データの同期および非同期処理を実現する方法 Jul 28, 2023 pm 03:29 PM

PHP と SOAP: データの同期および非同期処理を実装する方法 はじめに: 最新の Web アプリケーションでは、データの同期および非同期処理がますます重要になってきています。同期処理とは、一度に 1 つのリクエストだけを処理し、そのリクエストの完了を待って次のリクエストを処理することを指します。非同期処理とは、特定のリクエストの完了を待たずに複数のリクエストを同時に処理することを指します。この記事では、PHP と SOAP を使用してデータの同期および非同期処理を実現する方法を紹介します。 1. SOAP の概要 SOAP (SimpleObject)

PHP と SOAP: リモート プロシージャ コール (RPC) を実装する方法 PHP と SOAP: リモート プロシージャ コール (RPC) を実装する方法 Jul 29, 2023 pm 02:45 PM

PHP と SOAP: リモート プロシージャ コール (RPC) の実装方法 はじめに: 近年、分散システムの台頭により、リモート プロシージャ コール (RPC) が Web 開発に広く採用されています。この記事では、PHP と SOAP を使用して RPC を実装する方法を紹介し、コード例を通じてその使用法を示します。 1. リモート プロシージャ コール (RPC) とは何ですか?リモートプロシージャコール(RemoteProcedureCall、RPC)は通信です

PHP の SOAP プロトコル ガイド PHP の SOAP プロトコル ガイド May 20, 2023 pm 07:10 PM

インターネット テクノロジーの継続的な発展に伴い、データとビジネスの相互作用を実現するために、他のアプリケーションにインターフェイスを提供する必要があるエンタープライズ レベルのアプリケーションがますます増えています。この場合、データを送信し、データの整合性とセキュリティを確保するための信頼できるプロトコルが必要です。 SOAP (Simple Object Access Protocol) は、Web 環境でアプリケーション間の通信を実装するために使用できる XML ベースのプロトコルです。人気の Web プログラミング言語としての PHP

Python を使用した SOAP メッセージの解析 Python を使用した SOAP メッセージの解析 Aug 08, 2023 am 09:27 AM

Python を使用した SOAP メッセージの解析 SOAP (Simple Object Access Protocol) は、ネットワーク上の異なるアプリケーション間の通信に使用される XML ベースのリモート プロシージャ コール (RPC) プロトコルです。 Python には、SOAP メッセージを処理するためのライブラリとツールが多数用意されており、その中で最も一般的に使用されるのは suds ライブラリです。 suds は、SOAP メッセージの解析と生成に使用できる Python 用の SOAP クライアント ライブラリです。それはシンプルで、

フラッシュとは何ですか フラッシュとは何ですか Aug 10, 2023 am 10:16 AM

Flash は、ベクター グラフィックス、タイムライン アニメーション、インタラクティブ性、マルチメディア処理機能など​​の機能を備えた、マルチメディアおよびインタラクティブ コンテンツの作成に使用されるソフトウェアです。 Flash はかつて非常に人気がありましたが、新しいテクノロジーの台頭とともに段階的に廃止され、2020 年に公式サポートが終了しました。

PHP と SOAP を使用して Web サービスをデプロイおよび公開する方法 PHP と SOAP を使用して Web サービスをデプロイおよび公開する方法 Jul 28, 2023 pm 01:57 PM

PHP と SOAP を使用して Web サービスを展開および公開する方法 はじめに: 今日のインターネット時代では、Web サービスの展開と公開は非常に重要なトピックになっています。 PHP は一般的なサーバー側プログラミング言語ですが、SOAP (Simple Object Access Protocol) は Web サービス間の通信に使用される XML プロトコルです。この記事では、PHP と SOAP を使用して Web サービスをデプロイおよび公開する方法を紹介し、いくつかのコード例を示します。

PHP と SOAP を使用してデータを圧縮および解凍する方法 PHP と SOAP を使用してデータを圧縮および解凍する方法 Jul 29, 2023 pm 12:28 PM

PHP と SOAP を使用してデータを圧縮および解凍する方法 はじめに: 現代のインターネット アプリケーションでは、データ送信は非常に一般的な操作です。データの圧縮および解凍技術の使用は、非常に重要なトピックになっています。 PHP 開発では、SOAP (SimpleObjectAccessProtocol) プロトコルを使用してデータの圧縮と解凍を実現できます。この記事ではその方法を説明します

See all articles