SharedObject는 사용자 컴퓨터 공유객체에 저장하는 공간을 만들어 쿠키처럼 호출하여 값을 참조할 수 있도록 한다. 공유객체에 참조자를 만들기 위해서는 반드시 getLocal()를 설정해야 한다. 그리고 swf에서 쿠키처럼 사용할 수 있는 공간 100kb밖에 안된다.
예) 오늘본 상품 등록..
생성시...아래의 메서드를 선언해야 한다.
getLocal : 컴퓨터에 저장
getRemote : 서버를 통해 공유(예: 두 pc가 같이 그림을 그릴수 있다...) 특정 서비스 서버가 있어야한다.
[Public 속성]
client : Object
콜백 메서드가 호출되는 객체를 나타냅니다.
data : Object
[read-only] 객체의 data 속성에 할당된 특성 모음입니다. 이러한 특성은 공유 및 저장이 가능합니다.
defaultObjectEncoding : uint
[static] SWF 파일에서 만들어진 모든 로컬 공유 객체에 대한 기본 객체 인코딩(AMF 버전)입니다.
fps : Number
[write-only] 공유 객체에 대한 클라이언트의 변경이 서버로 전송되는 초당 횟수를 지정합니다.
objectEncoding : uint
이 공유 객체의 객체 인코딩(AMF 버전)입니다.
size : uint
[read-only] 공유 객체의 현재 크기(바이트)입니다.
[Public 메서드]
clear():void
로컬 공유 객체의 경우, 모든 데이터를 제거하고 디스크에서 공유 객체를 삭제합니다.
close():void
원격 공유 객체와 서버 간의 연결을 종료합니다.
connect(myConnection:NetConnection, params:String = null):void
지정된 연결을 통해 서버의 원격 공유 객체에 연결합니다.
flush(minDiskSpace:int = 0):String
로컬 영구 공유 객체를 로컬 파일에 즉시 기록합니다.
getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject
[static] 현재 클라이언트에만 사용 가능한 로컬 영구 공유 객체에 대한 참조를 반환합니다.
getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject
[static] Flash Media Server와 같은 서버를 이용하여 여러 클라이언트 간에 공유할 수 있는 객체에 대한 참조를 반환합니다.
send(... arguments):void
메시지를 보낸 클라이언트를 포함하여 지정된 원격 공유 객체에 연결된 모든 클라이언트로 메시지를 브로드캐스트합니다.
setDirty(propertyName:String):void
공유 객체의 속성 값(data 속성으로 정의)이 변경되었음을 서버에 알립니다.
setProperty(propertyName:String, value:Object = null):void
공유 객체의 속성 값(data 속성으로 정의)을 업데이트하고 해당 속성의 값이 변경되었음을 서버에 알립니다.
asyncError
기본 비동기 코드에서 비동기적으로 예외가 발생할 때 전달됩니다.
netStatus
SharedObject 인스턴스가 상태 또는 오류 상황을 보고할 때 전달됩니다.
sync
서버에서 원격 공유 객체(SharedObject)를 업데이트하면 전달됩니다.
아래 코드는 간단히 SharedObject 를 사용하여 방문기록을 표현한 것이다.
private var so: SharedObject = SharedObject.getLocal( "www.xprime.co.kr");
public function SharedObjectTest()
{
super();
if( so.data.count == undefined ){
so.data.count = 1;
}else {
so.data.count ++;
}
if( so.data.date == undefined ){
so.data.date = new Date();
}
trace( "당신은 "+ so.data.count + " 번 접속했습니다. " , so.data.date.toString() );
so.data.date = new Date();
}
// 출력 : 당신은 3 번 접속했습니다. Sun Jul 13 14:03:41 GMT+0900 2008
'방문자 기록'에 해당되는 글 1건
- 2008.07.13 쿠키처럼 사용자의 정보를 swf 공유객체에 저장하는 SharedObject
Tip And Tech2008. 7. 13. 14:27