2

私は現在、バイナリソケット接続を介してJSONエンコードされたデータを渡すことによってFlashクライアントと通信するJavaサーバーを持っています。パケットをJSONではなくAMFとしてエンコード/デコードする方法はありますか?これを行うには、Flash Playerにネイティブサポートが必要だと思いますか?私が見つけたAMFシリアル化のすべての実装は、アプリケーションフレームワーク内に埋め込まれているようです。

同様に、Flashの接続実装とは関係なくAMFパケットをデコードできるかどうか誰かが知っていますか?

4

2 に答える 2

4

OpenAMFのAMFDeserializerクラスを使用できます。

http://www.openamf.com/javadocs/org/openamf/io/AMFDeserializer.html

RED5およびBlazeDSで関連するクラスを使用することもできます。

于 2010-06-01T17:09:52.127 に答える
2

AMFはActionscriptMessagingFormatの略で、そのままの状態でFlashPlayer自体によってサポートされます。Java側については、すでにいくつかのライブラリが作成されていると確信しています。Red 5は、AMFをサポートするJavaで記述されたオープンフラッシュサーバーであるため、チェックアウトできます。

PS:

AMFのシリアル化/逆シリアル化はこのパッケージ(red 5コード)で処理されているようです:http://red5.googlecode.com/svn/java/server/tags/0_9rc1/src/org/red5/io/amf/。ただし、このための優れたスタンドアロンAPIがあるかどうかはわかりません。

于 2010-06-01T16:39:39.530 に答える