2

Flash と MySql の間で通信するための最良/高速/効率的な方法は何ですか? Flash-php-MySql を使用したマルチプレーヤー オンライン ゲームを持っています。5 人以上のプレーヤーに到達すると、ゲームが遅くなるようです。そして、問題はphpを介したMySqlからのリクエストとレスポンスによるものだと思います。AS3ファイルでURLRequest、Postメソッドを使用しています。

Google を試してみたところ、この Amfphp と Zend Framework Adob​​e AMF が見つかりました。データベースへの接続に役立つかどうかわかりませんか? 誰もこれらを前に試しましたか?(これらのいずれかについてのコメントを回答に含めてください)

応答時間とセキュリティの観点から、Flash と MySql の間で通信するためのより適切な方法をお勧めできますか?

4

2 に答える 2

3

ZendAMF と AMFPHP (どちらも同じ人物によるものです。ZendAMF の方が新しいですが、セットアップが少し複雑です) はどちらも優れています。基本的には、フロント エンドとバック エンドの両方のセットアップに時間を費やす必要がありますが、いったん PHP メソッドを呼び出すのは、AS3 ファイルの MyRemoteConnection.myMethod(myVars) と同じくらい簡単です。

Flex で作業している場合はさらに簡単になります。RemoteConnection クラスを使用すると、ローカルの AS3 値オブジェクトをリモートの PHP 値オブジェクトに動的にマッピングすることが簡単になります。

ZendAMF と AMFPHP のどちらを使用していても、バイナリ データ転送を使用するため、あらゆる種類の XML よりもはるかに高速です。AMFPHP の良い入門書は、Lee Brimelow のチュートリアルです。これがパート 1で、ここがパート 2です。それが役立つことを願っています!

編集: また、Adobe がこの件について ZendAMF を正式に承認していることを指摘しておく必要があります。サーバーに zend PHP フレームワークをセットアップすることに慣れている場合は、それを使用しますが、非常に単純なサーバー側のセットアップが必要な場合は、AMFPHP を使用してください。

于 2009-10-05T14:51:55.063 に答える
1

一方向のポストコールで頻繁にサーバー<>クライアントのデータを処理しようとしていますか? この場合、常にサーバーをポーリングし、常に接続を開いたり閉じたりする必要があります。

PHP を使用する場合は、ソケット サーバーを作成して、常に 1 つの接続しか開かないようにすることをお勧めします。actionscript で Socket クラスを使用して接続を確立する必要があります。PHP ソケット サーバーは、SQL データベースから高速でデータを取得できます。これらは両方とも同じマシン上にあり、オープン ソケット接続を使用してこのデータをフラッシュ クライアントに直接送信するためです。

これで始められるはずですが、XMLSocket クラスではなく Socket クラスを使用することをお勧めします。より多くのカスタマイズが提供されるからです。

于 2009-10-05T08:57:07.963 に答える