패키지 | flash.net |
클래스 | public final class ObjectEncoding |
상속 | ObjectEncoding Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
객체 인코딩은 객체가 AMF(Action Message Format)에서 표현되는 방식을 제어합니다. Flash Player는 응용 프로그램과 원격 서버 간의 효율적인 통신을 위해 AMF를 사용합니다. AMF는 원격 프로시저 호출을 압축된 이진 표현으로 인코딩하여 Flash Media Server에서 사용되는 HTTP/HTTPS 또는 RTMP/RTMPS 프로토콜을 통해 전송될 수 있도록 합니다. 객체 및 데이터 값은 이진 형식으로 직렬화됩니다. 이것은 일반적으로 XML 등과 같은 다른 표현보다 더 압축된 형식입니다.
Adobe AIR와 Flash Player 9는 AMF3 및 AMF0의 두 가지 서로 다른 형식으로 직렬화할 수 있습니다. AMF3은 ActionScript 3.0에서 사용되는 기본 직렬화로 ActionScript 1.0 및 2.0에서 사용되는 AMF0보다 다양한 장점을 제공합니다. AMF3은 네트워크를 통해 AMF0보다 더 효율적으로 데이트를 전송합니다. 또한, int
및 uint
객체를 정수로 전송하는 것을 지원하며, ByteArray, XML 및 IExternalizable 등 ActionScript 3.0에서만 사용 가능한 데이터 유형을 지원합니다. 이것은 ActionScript 3.0 및 Flex 2와 같은 AMF3 인코딩을 사용하는 서버에서만 사용할 수 있습니다.
ByteArray, FileStream, NetConnection, NetStream, SharedObject, Socket 및 URLStream 클래스에는 ObjectEncoding 클래스로부터 상수가 할당되는 objectEncoding
속성이 포함되어 있습니다. objectEncoding
속성의 비헤이비어는 객체에 따라 달라집니다. 각 클래스의 objectEncoding
속성 설명에서 비헤이비어에 대한 보다 자세한 내용을 확인할 수 있습니다.
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
dynamicPropertyWriter : IDynamicPropertyWriter [정적]
동적 객체의 동적 속성에 대한 직렬화의 제어 범위를 넓혀 줍니다. | ObjectEncoding |
상수 | 정의 주체 | ||
---|---|---|---|
AMF0 : uint = 0 [정적]
ActionScript 1.0 및 2.0용 AMF를 사용하여 객체를 직렬화하도록 지정합니다. | ObjectEncoding | ||
AMF3 : uint = 3 [정적]
ActionScript 3.0용 AMF를 사용하여 객체를 직렬화하도록 지정합니다. | ObjectEncoding | ||
DEFAULT : uint = 3 [정적]
현재 런타임(Flash Player 또는 AIR)에 대한 기본(최신) 형식을 지정합니다. | ObjectEncoding |
dynamicPropertyWriter | 속성 |
dynamicPropertyWriter:IDynamicPropertyWriter
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
동적 객체의 동적 속성에 대한 직렬화의 제어 범위를 넓혀 줍니다. 이 속성이 기본값인 null
로 설정되면, 동적 속성은 기본 코드를 사용하여 직렬화됩니다. 이 경우 값이 함수인 것을 제외하고는 모든 동적 속성이 직렬화됩니다.
이 값은 동적 객체(동적 클래스 내에 선언된 객체)나 new
연산자를 사용하여 선언된 객체의 속성에 대해서만 호출됩니다.
이 속성을 사용하여 직렬화에서 동적 객체의 속성을 제외하고, 동적 객체의 속성에 값을 기록하거나 동적 객체의 새 속성을 만들 수 있습니다. 이렇게 하려면 이 속성을 IDynamicPropertyWriter 인터페이스를 구현하는 객체로 설정해야 합니다. 자세한 내용은 IDynamicPropertyWriter 인터페이스를 참조하십시오.
구현
public static function get dynamicPropertyWriter():IDynamicPropertyWriter
public static function set dynamicPropertyWriter(value:IDynamicPropertyWriter):void
관련 API 요소
AMF0 | 상수 |
public static const AMF0:uint = 0
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ActionScript 1.0 및 2.0용 AMF를 사용하여 객체를 직렬화하도록 지정합니다.
AMF3 | 상수 |
public static const AMF3:uint = 3
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ActionScript 3.0용 AMF를 사용하여 객체를 직렬화하도록 지정합니다.
DEFAULT | 상수 |
public static const DEFAULT:uint = 3
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
현재 런타임(Flash Player 또는 AIR)에 대한 기본(최신) 형식을 지정합니다. 객체 인코딩 컨트롤은 Flash Player 9 이상 및 Adobe AIR에서만 사용할 수 있기 때문에 사용되는 가장 빠른 버전의 형식은 ActionScript 3.0용 AMF입니다.
예를 들어 객체의 objectEncoding
속성을 ObjectEncoding.DEFAULT
로 설정하면 AMF3 인코딩이 사용됩니다. 향후 Flash Player 또는 Adobe AIR 이후 버전에 새로운 AMF 버전이 추가되고 내용을 다시 제작하게 되는 경우 응용 프로그램은 새로운 AMF 버전을 사용하게 됩니다. 이전 버전과의 호환성에 대한 염려가 전혀 없을 경우에만 이 상수를 사용할 수 있습니다.
Tue Jun 12 2018, 03:17 PM Z