'AMF 직렬화'에 해당되는 글 1건

  1. 2008.12.27 AMF 직렬화 방식 사용법


플래시 플레이어는 기본적으로 AMF데이터를 지원하고 있다. 이 AMF라는 것은 오브젝트 인코딩 데이터로서 액션스크립트에서 사용되는 데이터들을 바이트 형태로 저장 / 전송 할 수 있는 방식이다.
가령 액션스크립트의 NetConnection을 사용하여 리모트 콜을 하면 데이터는 자동으로 AMF 형태로 직렬화 하고 사용하는 객체나 클래스에서는 이를 다시 AMF 형태에서 역직렬화 하여 사용한다. 마찬가지로 Shared Object 에 저장을 할때는 자동으로 AMF로 저장되고 Shared Object에서 읽어올 때는 액션스크립트 객체로 역직렬화 한다.

[ AMF 통신 구조 ]
[액션스크립트 객체] <- [AMF] -> [시스템이나 서버 등]


AMF 방식에는 AMF0과 AMF3의 두 종류가 있다.
AMF0은 AVM1과의 호환성을 지원하고 AMF3은 AVM2와 AIR를 지원한다.

보통 런타임 초기에 AMF데이터로 사용할 객체를 registerClassAlias로 매핑해야 한다.
registerClassAlias( "별명" , 실제 클래스 이름 )

이후 런타임시 필요한 데이터를 AMF로 사용할 객체에 데이터를 저장하고 사용하다가 필요할 때 해당 객체를 생성하여 대괄호 연산식([]) 등을 사용하여 꺼내쓴다.

Flex인 경우에는 [RemoteClass(alias="별명") 메타 태그를 AMF로 사용할 객체에 코딩하여 액션스크립트 객체를 매핑하고, 이 후 [Bindable]을 사용하여 등록한 매핑 클래스를 가져와 사용하여야 한다.

Posted by 버터백통