最近考虑结合Flash的Socket和AMF3来实现聊天室功能,Socket比起原来的XMLSocket来说,增加了可传递二进制数据,而AMF3则可以封装很多类型的数据,并且从flash player 9以后flash可以直接读取数据,这样的话,就可以大大提升数据通信效率,我这边同时利用ByteArray的数据压缩解压功能,可以对原来数据进行再次压缩,相对没有压缩的AMF3数据则又可以提升几倍效率,对于大文本数据的效果更为显著。
     ByteArray的压缩格式其实就是zlib算法,Java类包里就是Java.util.zip.*包,服务端数据就可以直接进行压缩解压了!
     我在网上又找到了一个功能和扩展性都很好的项目-apache mina (http://mina.apache.org/),再给合AMF3就可以很容易实现支持AMF3的Socket服务程序。
     我目前阶段可以实现简单的聊天功能:
/upload/amf3.jpg

客户端有关压缩和解压的代码


有关java的amf3包下载,请看[AS3]AMF3+JAVA的调用范例