包 | flash.net |
类 | public final class ObjectEncoding |
继承 | ObjectEncoding Object |
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
对象编码用于控制如何以 Action Message Format (AMF) 表示对象。 Flash Player 使用 AMF 启用 Flash 应用程序和远程服务器之间的有效通信。 AMF 将远程过程调用编码为一种紧凑的二进制表示形式,这种表示形式可以通过 HTTP/HTTPS 协议或 Flash Media Server 使用的 RTMP/RTMPS 协议进行传输。 ActionScript 对象和数据值将被序列化为这种二进制格式,这种格式通常比其它表示形式(例如 XML)紧凑。
Flash Player 9 提供两种不同的序列化格式:AMF3 和 AMF0。 AMF3 为用于 ActionScript 3.0 的默认序列化格式,与用于 ActionScript 1.0 和 2.0 的 AMF0 相比,AMF3 具有多种优点。AMF3 通过网络发送数据比 AMF0 更高效。 AMF3 支持将 int
和 uint
对象作为整型发送出去,并支持只可在 ActionScript 3.0 中使用的数据类型,例如 ByteArray、XML 和 IExternalizable。 AMF3 只能在 ActionScript 3.0 和使用 AMF3 编码的服务器(例如 Flex 2)中使用。
ByteArray、NetConnection、NetStream、SharedObject、Socket 和 URLStream 类均包含一个 objectEncoding
属性,该属性被赋予了一个来自 ObjectEncoding 类的常量。 objectEncoding
属性的行为因对象而异;每个类的 objectEncoding
属性描述更加全面地说明了其行为。
属性 | 定义方 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。
| Object | ||
dynamicPropertyWriter : IDynamicPropertyWriter
[static]
允许对动态对象的动态属性的序列化进行更大程度的控制。
| ObjectEncoding | ||
prototype : Object
[static]
对类或函数对象的原型对象的引用。
| Object |
常量 | 定义方 | ||
---|---|---|---|
AMF0 : uint = 0 [static]
指定使用 ActionScript 1.0 和 2.0 的 Action Message Format 来序列化对象。
| ObjectEncoding | ||
AMF3 : uint = 3 [static]
指定使用 ActionScript 3.0 的 Action Message Format 来序列化对象。
| ObjectEncoding | ||
DEFAULT : uint = 3 [static]
指定当前播放器的默认(最新的)格式。
| ObjectEncoding |
dynamicPropertyWriter | 属性 |
dynamicPropertyWriter:IDynamicPropertyWriter
[read-write]
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
允许对动态对象的动态属性的序列化进行更大程度的控制。 当将此属性设为默认值 null
时,将使用本机代码序列化动态属性,这将写入除值为函数以外的所有动态属性。
仅对动态对象(在动态类中声明的对象)或使用 new
运算符声明的对象的属性调用该值。
可以使用此属性将动态对象的属性排除在序列化之外,将值写入动态对象的属性中或为动态对象创建新属性。 为此,请将此属性设置为实现 IDynamicPropertyWriter 接口的对象。 有关详细信息,请参阅 IDynamicPropertyWriter 接口。
public static function get dynamicPropertyWriter():IDynamicPropertyWriter
public function set dynamicPropertyWriter(value:IDynamicPropertyWriter):void
另请参见
AMF0 | 常量 |
public static const AMF0:uint = 0
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
指定使用 ActionScript 1.0 和 2.0 的 Action Message Format 来序列化对象。
AMF3 | 常量 |
public static const AMF3:uint = 3
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
指定使用 ActionScript 3.0 的 Action Message Format 来序列化对象。
DEFAULT | 常量 |
public static const DEFAULT:uint = 3
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
指定当前播放器的默认(最新的)格式。 因为只有 Flash® Player 9 和更高版本中提供了对象编码控件,所以所用的最早的格式是 ActionScript 3.0 的 Action Message Format。
例如,如果将对象的 objectEncoding
属性设为 flash.net.ObjectEncoding.DEFAULT
,则 Flash Player 将使用 AMF3 编码。 以后,如果更高版本的 Flash Player 引入了新版 AMF,并且您重新发布了内容,则播放器将使用新版 AMF。 只有您当不必考虑对以前版本的 Flash Player 的互操作性时,才可使用此常量。
当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/flash/net/ObjectEncoding.html