今回は前回のFlashのオブジェクトをJavaのオブジェクトに変換するの逆です。
Javaから、Flashにデータを変換します。

Date date = new Date();
		
Amf3Output output = new Amf3Output(new SerializationContext());
output.reset();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
output.setOutputStream(baos);	
output.writeObject(date);
		
output.flush();
byte[] data = baos.toByteArray();
		
Base64 base64 = new Base64();
String base64str = base64.encodeToString(data);

//  ここでBASE64のデータをXMLSocketを通じてFlash側に渡してあげます。		
e.getChannel().write(base64str);

//  これを忘れてはいけません。これがないと、XMLSocketは終わりを認識できません。
e.getChannel().write("\0");

前回、Base64の処理はBlazeDSについていたjarを利用しましたが、
Jakartaのcommons-codecに変更しました。

こんどはFlash側ですが、こちらは、

var str:String = event.data as String;
var bytes:ByteArray;
var b64:Base64Decoder = new Base64Decoder();
b64.decode(str);
bytes = b64.flush();
			
var obj:Object = bytes.readObject();

とこんな感じになります。

非常に簡単にできました。

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2010年5月
« 4月   6月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ