Amf3协议

--Flash默认支持AMF3二进制协议,而Java服务端可以使用Adobe开源项目BlazeDS里提供的flex-messaging-common.jar和flex-messaging-core.jar来支持AMF3协议。


1.AMF3编码分析 http://www.68design.net/Web-Guide/Flash/40939-1.html

AMF3是一种紧凑型的二进制编码, 由于是二进制紧凑型的,所以在网络传输中它的效率很高. 但是AMF3它并不是一个压缩型的编码, 一个AMF3数据包其实有很大一部分是描述信息. 通过下面的分析,也许你能明白这一点.
在Socket通讯中,我是这样子做的:

它的解码过程是: 读取short型数据length,然后检测缓冲区数据是否大于length,如果大于length则读取length长个body,再将Body进行解 码,接下来再读取下一个length,再检测Body再将Body解码. 基本上通讯的解码过程都如此,不同的是,有些编解码是通过回车符或是特殊字符来处理. 其实AMF3的编码跟这个也有相似的地方,它的最细小的定义是:

这里的Type指的是一个AS3的数据类型, 如Number或是String等,而Value就是指这个type的数据内容,因为通常简单的数据类型的长度是可确定的,如int型是占四个字节,或是short只占两个字节.对于字符串类型,它的定义是:

这里的这个Length是一个short型,它占两个字节,最大可传输2的16乘方个字节的字符串. 基础的就这些了.



2.AMF协议简介


3.Amf3协议分析与实现


4.利用AMF数据封装与Flash 进行Socket通讯 

--文中展示了Adobe的开源项目BlazeDS中提供的类进行AMF3封装与Flash Socket通讯


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值