Adobe AMF3 规范详解
"AMF3规范文档,由Adobe Systems Incorporated发布,详细介绍了AMF3(Action Message Format 3)的二进制序列化格式,用于ActionScript对象图的序列化,以便在不同会话间持久化或恢复应用程序的公共状态,以及两个端点间高效的数据交换。" AMF3,全称ActionScript Message Format的第三个版本,是Adobe开发的一种高效的二进制数据序列化格式。它在2006年的Flash Player 9中随着ActionScript 3.0的引入而推出,作为对AMF0的升级。AMF0自2001年Flash Player 6起就已经存在,并在后续的Flash Player 7和8中保持不变。 AMF3的设计目标是提供一种紧凑、快速且类型安全的数据交换机制。它允许服务器和客户端之间以强类型的方式传输ActionScript对象,如数字、字符串、日期、数组、类实例等。AMF3的二进制格式比AMF0更优化,减少了冗余信息,从而提高了数据传输的效率和解析速度。 在AMF3中,有多种数据类型支持,包括: 1. **Number**: 64位浮点数,用于表示双精度数值。 2. **Boolean**: 1位,表示真或假。 3. **String**: 可变长度的UTF-8编码字符串。 4. **Object**: 序列化的ActionScript对象,包含键值对。 5. **Array**: 有序的元素集合,可以包含不同类型的数据。 6. **Date**: 表示UTC日期和时间的结构。 7. **XML**: 串行化的XML文档。 8. **Null**: 表示空值。 9. **Undefined**: 用于表示未定义的值。 10. **ECMAScript Object**: 对于非ActionScript对象,如JavaScript对象的序列化表示。 11. **ByteArray**: 用于传输二进制数据的类实例。 AMF3的序列化和反序列化过程涉及到类型标记和数据编码。每个AMF3对象以一个特定的字节开始,表示该对象的数据类型,然后跟随着相应的数据编码。例如,Number类型以0x00开头,Boolean以0x01或0x02表示true或false。 此外,AMF3还支持优化的字符串编码,通过引用先前出现过的字符串来节省空间。对于复杂对象,如ActionScript类实例,AMF3可以序列化其属性,而不包括私有或受保护的成员。 在ActionScript 3.0的环境中,AMF3被广泛用于Flex和Flash的Remoting框架,如Adobe LiveCycle Data Services和BlazeDS,它们提供了与后端服务器(如Java或PHP)之间的高性能数据交换。 总结来说,AMF3是ActionScript 3.0生态系统中的关键组件,为Web应用程序提供了一种高效、类型安全的数据交换格式,特别是在富互联网应用(RIA)中,它极大地提升了服务器与客户端间的通信性能。
剩余12页未读,继续阅读
- 粉丝: 1
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高效办公必备:可易文件夹批量生成器
- 吉林大学图形学与人机交互课程作业解析
- 8086与8255打造简易乒乓球游戏机教程
- Win10下C++开发工具包:Bongo Cat Mver、GLEW、GLFW
- Bootstrap前端开发:六页果蔬展示页面
- MacOS兼容版VSCode 1.85.1:最后支持10.13.x版本
- 掌握cpp2uml工具及其使用方法指南
- C51单片机星形流水灯设计与Proteus仿真教程
- 深度远程启动管理器使用教程与工具包
- SAAS云建站平台,一台服务器支持数万独立网站
- Java开发的博客API系统:完整功能与接口文档
- 掌握SecureCRT:打造高效SSH超级终端
- JAVA飞机大战游戏实现与源码分享
- SSM框架开发的在线考试系统设计与实现
- MEMS捷联惯导解算与MATLAB仿真指南
- Java实现的学生考试系统开发实战教程