2

AS3で配列をシリアル化および逆シリアル化する必要があります(それは単語ですか?)。これにより、配列を文字列として送信できます。

唯一の問題は、テキストだけでなく、オブジェクトも含まれていることです。

PHPの場合と同様に、AS3で配列をシリアル化および非シリアル化することは可能ですか?どうすればいいですか?

このバグが修正されると、すべてが私のプログラムでうまくいくでしょう。

編集:TCP経由で接続し、文字列や整数などの単純なものを送信できる複数のフラッシュファイル間で配列を同期できる必要があるため、これに関するデータを文字列形式で一度に送信できる必要があります。

4

2 に答える 2

0

多分あなたはこのページを見るべきです、それはあなたがやろうとしていることと似ています

http://www.actionscriptdeveloper.co.uk/serializing-and-unserializing-svg-objects-to-arrays-in-actionscript-3/

于 2010-05-04T15:40:51.187 に答える
0

TCP を介してクライアント間で通信することが目標の場合は、ソケットで writeObject メソッドを使用して AMF でオブジェクトをシリアル化するだけです。効率のためにバイナリ形式に近いため、これが「文字列形式」の要件と矛盾するかどうかはわかりません。

編集: オブジェクトを ByteArray に書き込み、Base64 でエンコードして文字列を生成します。これは、一部の Web サービスがバイナリ データを処理する方法と似ています。バイナリ データは、xml と適切に配置される文字列形式に配置する必要があり、base64 にはすべての印刷可能な文字が含まれているためです。

バイト配列をエンコードする前に圧縮することもできます。これにより、ネットワーク経由で送信するためにサイズを小さくすることができます。

ByteArray: http://livedocs.adobe.com/flex/3/html/help.html?content=ByteArrays_2.html

このフォーラム スレッドには Base64 ライブラリが添付されています。インターネット上で他のライブラリを見つけることができます: http://www.flexdeveloper.eu/forums/actionscript-3-0/compress-and-uncompress-strings-using-bytearray

于 2010-01-13T01:28:46.543 に答える