��flash.net
��public class SharedObject
�̳�SharedObject Inheritance EventDispatcher Inheritance Object

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

SharedObject ���������û��������������϶�ȡ�ʹ洢���޵��������� ʹ�ù�����󣬿������������ڱ��ؼ������Զ�̷������ϵĶ���ͻ��� SWF �ļ��Ͷ���֮��ʵ��ʵʱ���ݹ���� ���ع����������������� Cookie��Զ�̹������������ʵʱ���ݴ����豸�� ��Ҫʹ��Զ�̹����������Ҫһ������������ Adobe Flex �� Adobe �� Macromedia Flash Media Server 2����

NetStream ���е�һЩ���Ժͷ�����Ҫ���ڷ��������� Flash Media Server 2 �� Flex���� ���ǿ��ܰ�������ķ������˹��ܡ� �й������ĵ�������� Flash Media Server documentation�е� NetStream �ࡣ

���Ľ����˹����������ֳ����÷���

��Ҫ�������ع��������ʹ�������﷨��

 var so:SharedObject = SharedObject.getLocal("userHighScore");
 so.data.highScore = new Number(1234567890);
 so.flush();
 

��ʾ���У����������ʽˢ������д����̡� ��Ӧ�ó���ر�ʱ�����Զ�ˢ�¹�����󣻵��˴���ʾˢ����Ϊ��˵��������д����̵IJ��衣

���ش��̿ռ�ע��������ع�����󽫷dz����ã�������Ҳ��һЩ���ƣ���Щ���ƺ���Ҫ���������Ӧ�ó���ʱӦ���Կ��ǡ� ��ʱ���ܲ����� SWF �ļ�д�뱾�ع��������ʱ����������֪��������ɾ���ڱ��ع�������д洢�����ݡ� Flash Player �û����Թ���Ե��������������õĴ��̿ռ䡣 ���û����ٿ��ô��̿ռ�ʱ��һЩ���ع��������ܻᱻɾ���� Flash Player �û���������˽�������������ǿɷ�ֹ�������򣨵�ǰ�������ַ������֮����򣩶�ȡ��д�뱾�ع������

ע�����ڱ��ؼ�����ϣ������Ǵ�Զ�̷��������洢�����е� SWF �ļ�ʼ�տ��Խ��������������д����̣������û��������ɵ������򽫹������д����̡� �йص���������������ϸ��Ϣ������� Global Storage Settings panel���йص��������ݵ�������

Adobe �������������̿ռ��������û���˽������صĹ��ϡ� �ڵ��� getLocal() �� flush() ʱִ����Щ��飺

������� SWF �ļ����Դ������޸ı��ع��������ȷ�� SWF �ļ��Ŀ������Ϊ 215 ���أ��߶�����Ϊ 138 ���أ�����������ʾ��ʾ�û������䱾�ع������洢���ƵĶԻ������С�ߴ硣 ������� SWF �ļ�С����Щ�ߴ磬����Ҫ���Ӵ洢���ƣ��� SharedObject.flush() ʧ�ܣ����� SharedObjectFlushedStatus.PENDING�������� netStatus �¼���

�鿴ʾ��

����μ�

flush()
getLocal()
netStatus



���� ����
 �������巽
  client : Object
ָʾ������ûص������Ķ���
SharedObject
 Inheritedconstructor : Object
���������������ʵ���Ĺ��캯�������á�
Object
  data : Object
[read-only] ��������� data ���� (property) ������ (attribute) ���ϣ����Թ���ʹ洢��Щ���� (attribute)��
SharedObject
  defaultObjectEncoding : uint
[static] �� SWF �ļ��д��������б��ع�������Ĭ�϶�����루AMF �汾����
SharedObject
  fps : Number
[write-only] ָ��ÿ���ӿͻ��˶Թ�����������ĸ��ı����͵��������Ĵ�����
SharedObject
  objectEncoding : uint
�˹������Ķ�����루AMF �汾����
SharedObject
 Inheritedprototype : Object
[static] ������������ԭ�Ͷ�������á�
Object
  size : uint
[read-only] �������ĵ�ǰ��С�����ֽ�Ϊ��λ����
SharedObject
���� ����
 �������巽
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
ʹ�� EventDispatcher ����ע���¼�������������ʹ�������ܹ������¼�֪ͨ��
EventDispatcher
  
���ڱ��ع����������������ݲ��Ӵ���ɾ���������
SharedObject
  
�ر�Զ�̹������ͷ�����������ӡ�
SharedObject
  
connect(myConnection:NetConnection, params:String = null):void
ͨ��ָ�����������ӵ��������ϵ�Զ�̹������
SharedObject
 Inherited
���¼����ȵ��¼����С�
EventDispatcher
  
flush(minDiskSpace:int = 0):String
���������ù����������д�뱾���ļ���
SharedObject
  
getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject
[static] ���ضԱ������ù����������ã��ö���ֻ�����ڵ�ǰ�ͻ��ˡ�
SharedObject
  
getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject
[static] �Խ������������� Flash Media Server���ڶ���ͻ��˼乲��Ķ��󷵻�һ�����á�
SharedObject
 Inherited
��� EventDispatcher �����Ƿ�Ϊ�ض��¼�����ע�����κ���������
EventDispatcher
 Inherited
ָʾ�����Ƿ��Ѿ�������ָ�������ԡ�
Object
 Inherited
ָʾ Object ���ʵ���Ƿ���ָ��Ϊ�����Ķ����ԭ�����С�
Object
 Inherited
ָʾָ���������Ƿ���ڡ��Ƿ��ö�١�
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
�� EventDispatcher ������ɾ����������
EventDispatcher
  
send(... arguments):void
�����ӵ�ָ��Զ�̹����������пͻ��ˣ��������͸���Ϣ�Ŀͻ��ˣ��㲥һ����Ϣ��
SharedObject
  
setDirty(propertyName:String):void
֪ͨ�����������������ԣ��� data ���Զ��壩ֵ�Ѹ��ġ�
SharedObject
  
setProperty(propertyName:String, value:Object = null):void
���¹��������ij�����ԣ��� data ���Զ��壩��ֵ����֪ͨ�����������Ե�ֵ�Ѹ��ġ�
SharedObject
 Inherited
����ѭ��������̬���ԵĿ����ԡ�
Object
 Inherited
����ָ��������ַ�����ʾ��ʽ��
Object
 Inherited
����ָ�������ԭʼֵ��
Object
 Inherited
����Ƿ��ô� EventDispatcher ��������κ�ʼ��Ϊָ���¼�����ע�����¼���������
EventDispatcher
�¼�
 �¼�ժҪ���巽
 Inherited Flash Player ��ò���ϵͳ���㲢��Ϊ�״̬ʱ���ȡ�EventDispatcher
   ���첽�����쳣�������Ա����첽���룩ʱ���ȡ�SharedObject
 Inherited Flash Player ʧȥ����ϵͳ���㲢��Ϊ�ǻ״̬ʱ���ȡ�EventDispatcher
   �� SharedObject ʵ��������״̬��������ʱ���ȡ�SharedObject
   �ڷ�����������Զ�̹������(SharedObject)����ȡ�SharedObject
������ϸ��Ϣ
client����
client:Object  [read-write]

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

ָʾ������ûص������Ķ��� Ĭ�϶���Ϊ this�� �����Խ��˿ͻ�����������Ϊ�������󣬲��Դ˶�����ûص�������


ʵ��
    public function get client():Object
    public function set client(value:Object):void

����
TypeError — ���뽫 client ��������Ϊ�ǿն���
data���� 
data:Object  [read-only]

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

��������� data ���� (property) ������ (attribute) ���ϣ����Թ���ʹ洢��Щ���� (attribute)�� ÿ�����Զ��������κ� ActionScript �� JavaScript ���͵Ķ������顢���֡�����ֵ���ֽ����顢XML���ȵȣ��� ���磬���漸�н�ֵ�����������IJ�ͬ���棺

  var items_array:Array = new Array(101, 346, 483);
  var currentUserIsAdmin:Boolean = true;
  var currentUserName:String = "Ramona";
  
  var my_so:SharedObject = SharedObject.getLocal("superfoo");
  my_so.data.itemNumbers = items_array;
  my_so.data.adminPrivileges = currentUserIsAdmin;
  my_so.data.userName = currentUserName;
  
  for (var prop in my_so.data) {
    trace(prop+": "+my_so.data[prop]);
  }
  

������������õģ������湲������ data ���� (property) ���������� (attribute)������������������Ϣ��

  userName: Ramona
  adminPrivileges: true
  itemNumbers: 101,346,483
  

ע�⣺����ֱֵ�Ӹ����������� data ���ԣ���ͬ�� so.data = someValue ��һ����Flash Player ��������Щ��ֵ��

��Ҫɾ�����ع����������ԣ���ʹ������ delete so.data.attributeName �����Ĵ��룻�����ع���������������Ϊ null �� undefined ����ɾ�������ԡ�

��ҪΪ������󴴽�˽�� ֵ���ö�������ʹ��ʱֻ�пͻ���ʵ���ſ���ʹ�ø�ֵ�����Ҹ�ֵ�ڶ���ر�ʱ����ö���洢��һ�𣩣��봴�����Ʋ��� data ���������洢���ǣ���������ʾ��

  var my_so:SharedObject = SharedObject.getLocal("superfoo");
  my_so.favoriteColor = "blue";
  my_so.favoriteNightClub = "The Bluenote Tavern";
  my_so.favoriteSong = "My World is Blue";
  
  for (var prop in my_so) {
    trace(prop+": "+my_so[prop]);
  }
  

�����������������ݣ�

  favoriteSong: My World is Blue
  favoriteNightClub: The Bluenote Tavern
  favoriteColor: blue
  data: [object Object]
  


ʵ��
    public function get data():Object

����μ�

defaultObjectEncoding���� 
defaultObjectEncoding:uint  [read-write]

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

�� SWF �ļ��д��������б��ع�������Ĭ�϶�����루AMF �汾���� �ڽ����ع������д�����ʱ��SharedObject.defaultObjectEncoding ���Խ�ָʾӦʹ�õ� Action Message Format �İ汾��ActionScript 3.0 ��ʽ (AMF3)��ActionScript 1.0 ���� 2.0 ��ʽ (AMF0)��

���ڶ���������ϸ��Ϣ���������غ�Զ�̹���������IJ��죩������� objectEncoding ���Ե�������

SharedObject.defaultObjectEncoding ��Ĭ��ֵ����Ϊʹ�� ActionScript 3.0 ��ʽ (AMF3)�� ���Ҫ���� ActionScript 2.0 �� 1.0 SWF �ļ����Զ�ȡ�ı��ع��������Ӧ�ڴ����κα��ع������֮ǰ���ڽű���ʼ���� SharedObject.defaultObjectEncoding ����Ϊʹ�� ActionScript 1.0 �� ActionScript 2.0 ��ʽ (flash.net.ObjectEncoding.AMF0)�� ��󴴽������б��ع�����󶼽�ʹ�� AMF0 ���룬����������ݽ����� ���ع�����󴴽��󣬽��޷�ͨ������ SharedObject.defaultObjectEncoding ���������б��ع������� objectEncoding ֵ��

��Ҫ��ÿ������Ϊ�������ö�����룬������Ϊ SWF �ļ����������й���������ö�����룬��Ӧ���ñ��ع������� objectEncoding ���ԡ�


ʵ��
    public static function get defaultObjectEncoding():uint
    public function set defaultObjectEncoding(value:uint):void

����μ�

fps���� 
fps:Number  [write-only]

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

ָ��ÿ���ӿͻ��˶Թ�����������ĸ��ı����͵��������Ĵ�����

���ϣ�����ƿͻ����������֮���ͨ����������ʹ�ô˷����� ���磬����ͻ����������֮���������Խ��������Խ� fps ����Ϊһ����Խ�С��ֵ�� �෴������ͻ������ӵ�һ����ʱ����и�Ҫ��Ķ��û�Ӧ�ó��򣬿�����Ҫ�� fps ����Ϊһ����Խϴ��ֵ��

���� fps ������ sync �¼������¶Է����������и��ġ� ���ֻ���ֶ����·��������ɽ� fps Ϊ 0��

�ڵ��� sync �¼�֮ǰ�����Ὣ���ķ��͸��������� Ҳ����˵���������������Ӧʱ�����������������͸��µ�Ƶ�������С�ڴ������е�ָ��ֵ��


ʵ��
    public function set fps(value:Number):void
objectEncoding���� 
objectEncoding:uint  [read-write]

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

�˹������Ķ�����루AMF �汾���� �ڽ����ع������д�����ʱ��objectEncoding ���Խ�ָʾӦʹ�õ� Action Message Format �İ汾��ActionScript 3.0 ��ʽ (AMF3)��ActionScript 1.0 ���� 2.0 ��ʽ (AMF0)��

���ݹ�������DZ��ػ���Զ����ִ�в�ͬ�Ķ�����������


ʵ��
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

����
ReferenceError — ������Ϊij��Զ�̹���������� objectEncoding ����ֵ�� ����Զ�̹��������ԣ�������Ϊֻ������Ϊ��ֵ�ɹ����� NetConnection ʵ��������

����μ�

size���� 
size:uint  [read-only]

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

�������ĵ�ǰ��С�����ֽ�Ϊ��λ����

Flash ͨ����һ���㹲������ÿ���������Լ���ö���Ĵ�С��������е���������Խ�࣬�������С������ʱ���Խ���� ���������С����Ҫ�ķ��൱���Ĵ���ʱ�䣬��ˣ����������������ض�����Ҫ������������ϣ������ʹ�ô˷�����


ʵ��
    public function get size():uint

����μ�


ʾ��
���ʹ��ʾ��

���´���ʹ�� ID "thehobbit" ���� SharedObject ���� ����Ϊ username ��������ӵ� SharedObject ��������������С� Ȼ����� size ���ԣ��⽫����ָʾ��ֵ��

import flash.net.SharedObject;

// if these get copied or not
var mySo:SharedObject = SharedObject.getLocal("thehobbit");
mySo.data.username = "bilbobaggins";
trace(mySo.size); // 55
������ϸ��Ϣ
clear()����
public function clear():void

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

���ڱ��ع����������������ݲ��Ӵ���ɾ��������� �Թ�������������Ȼ���ڻ״̬�������������Ա�ɾ����


ʾ��
���ʹ��ʾ��

���´���ʹ��ֵΪ hostName �� ID ���������ں���ִ�й����м�����һ�� SharedObject ���� ����Ϊ username ��������ӵ� SharedObject ��������������С� ������ clear() �������������ӵ����ݶ����������Ϣ���ڱ�������һ����Ϊ username ���ԣ���

package {
    import flash.net.SharedObject;

    public class SharedObject_clear {
        private var hostName:String = "yourDomain";
        private var username:String = "yourUsername";

        public function SharedObject_clear() {
            var mySo:SharedObject = SharedObject.getLocal(hostName);
            if(mySo.data.username == null) {
                mySo.data.username = username;
                trace("set: " + mySo.data.username); // yourUsername
            }
            else {
                mySo.clear();
                trace("cleared: " + mySo.data.username); // undefined
            }
        }
    }
}
close()���� 
public function close():void

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

�ر�Զ�̹������ͷ�����������ӡ� ���һ��Զ�̹���������ô����ڱ��أ���ô�ڴ˷��������ú��û����ԶԸö���ı��ظ������и��ġ� �Ա��ض�����κθ��Ķ������û���һ�����ӵ�Զ�̹������ʱ���͸���������

connect()���� 
public function connect(myConnection:NetConnection, params:String = null):void

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

ͨ��ָ�����������ӵ��������ϵ�Զ�̹������ �ڷ��� SharedObject.getRemote() ����֮��ʹ�ô˷����� �ɹ����Ӻ󣬵��� sync �¼���

�ڳ��Բ���Զ�̹������֮ǰ������Ӧ����Ƿ���ָʾ���ӳɹ��ķ���ֵ true��Ȼ��ȴ��� sync �¼������ȡ� �������ô������ô���� sync �¼�������֮ǰ�Ա��ض����������κθĶ����п��ܶ�ʧ��

ע��������˵��÷��� false���򲻻���� sync �¼���

����

myConnection:NetConnection — һ��ʹ��ʵʱ��Ϣ����Э�� (RTMP) �� NetConnection ������������ Flash Media Server ����ͨ�ŵĶ��󣩡�
 
params:String (default = null) — һ���ַ���������Ҫ���ݵ� Flash Media Server �IJ����� ��Щ�����ڶ�������֮�󴫵ݡ� ���磬����Ĵ��뽫��Ϣ "mo?foo=false" ���ݵ� Flash Media Server��
  var myNC:NetConnection = new NetConnection();
  myNC.connect("rtmp://[myDomain].com/applicationName");
  var myRemoteSO:SharedObject = SharedObject.getRemote("mo", myNC.uri, false);
  myRemoteSO.connect(myNC, "foo=false");
ע�⣺Flash Media Server���汾 2.0.3��Ŀǰ��֧�� params ������


����
Error — Flash Player �޷����ӵ�ָ����Զ�̹������ ȷ�� NetConnection ʵ����Ч�������ӣ������ڷ������ϳɹ�����Զ�̹������

����μ�

flush()���� 
public function flush(minDiskSpace:int = 0):String

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

���������ù����������д�뱾���ļ��� �����ʹ�ô˷������� Flash Player ���ڹ������Ự����ʱ��Ҳ����˵���� SWF �ļ��ر�ʱ�������ڲ����жԹ��������κ����ö�������Ϊ��������ʱ�������ڵ��� SharedObject.clear() �� SharedObject.close() ʱ�������������д���ļ���

����˷������� SharedObjectFlushStatus.PENDING���� Flash Player ����ʾһ���Ի���Ҫ���û����Ӵ��̿ռ����Թ������еĶ���ʹ�á� ��Ҫ����������湲�����ʱ��ռ��ܹ��������Ӷ����ⷵ��ֵ PENDING����Ϊ minDiskSpace ����һ��ֵ�� �� Flash Player ����д���ļ�ʱ���������Ҵ��ݸ� minDiskSpace ���ֽ����������Dz����㹻�Ŀռ��Թ������ĵ�ǰ��С�����湲�����

���磬���Ԥ�ڹ���������������Ϊ 500 ���ֽڣ���ʹ����ʼʱҪС�ö࣬ҲΪ minDiskSpace ���� 500�� ��� Flash Ҫ���û�Ϊ�ù�����������̿ռ䣬����Ҫ�� 500 ���ֽڡ� ���û�����������Ŀռ���֮�󣬵��Ժ��Զ���ö���ʱ��ֻҪ���С������ 500 ���ֽڣ���Flash ������Ҫ�����Ŀռ䡣

���û���Ӧ�Ի��������ֵΪ SharedObject.Flush.Success �� SharedObject.Flush.Failed �� code ���ԣ��ٴε��ô˷��������� netStatus �¼���

����

minDiskSpace:int (default = 0) — ���������˶������С���̿ռ䣨���ֽ�Ϊ��λ����

����
String — ������һֵ��
  • SharedObjectFlushStatus.PENDING���û��������Դ���Ķ�����б�����Ϣ�洢����������Ŀռ��������Դ洢�ö��� Flash Player ����ʾ�û��������ռ䡣
  • SharedObjectFlushStatus.FLUSHED����������ѳɹ�д�뱾�ش����ϵ��ļ���

����
Error — Flash Player ���ܽ��������д����̡� ����û������ý�ֹ�����Ը���Ķ�����б�����Ϣ�洢������ܳ��ִ˴���

ע������������ʼ�տ��Խ����Ե������򣨵�ǰ�������ַ���е���������򣩵Ĺ������д����̣���ʹ��ֹ���������������д����̡�

����μ�


ʾ��
���ʹ��ʾ��

���´���ʹ��ֵΪ hostName �� ID ���������ں���ִ�й����м�����һ�� SharedObject ���� ����Ϊ username ��������ӵ� SharedObject ��������������С� Ȼ����� flush() �������������ȷ�����ص����ַ��� pending ���� true �� false �IJ���ֵ�� ���ע�⣺�򿪵����� SharedObject ʵ�������� Flash Player �ĵ�ǰʵ���ر�ʱ�Զ�ˢ�¡�
package {
    import flash.net.SharedObject;

    public class SharedObject_flush {
        private var hostName:String = "yourDomain";
        private var username:String = "yourUsername";

        public function SharedObject_flush() {
            var mySo:SharedObject = SharedObject.getLocal(hostName);
            mySo.data.username = username;
            var flushResult:Object = mySo.flush();
            trace("flushResult: " + flushResult);
            trace(mySo.data.username); // yourUsername
        }
    }
}
getLocal()���� 
public static function getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

���ضԱ������ù����������ã��ö���ֻ�����ڵ�ǰ�ͻ��ˡ� ����в����ڹ��������˷���������һ��������� ������ݸ� getLocal() ���κ�ֵ����Ч�����������ʧ�ܣ�Flash Player �������쳣��

���´�����ʾ��ν����صĹ���������ø���������

var so:SharedObject = SharedObject.getLocal("savedData");

ע�⣺����û���ѡ���˴Ӳ����������б��ش洢����ʹָ���� localPath ��ֵ������Ҳ�����ڱ��ر��档 �������ݲ���ѭ�˹��� ��������ʼ�տ��Խ��������򣨵�ǰ�������ַ������֮������еĹ������д����̣���ʹ��ֹ���������������д����̡�

Ϊ�˱������Ƴ�ͻ��Flash �ῼ�Ǵ����������� SWF �ļ���λ�á� ���磬���λ�� www.myCompany.com/apps/stockwatcher.swf �� SWF �ļ�������һ����Ϊ portfolio �Ĺ��������ù�����󲻻���λ�� www.yourCompany.com/photoshoot.swf �� SWF �ļ�����������һ����Ϊ portfolio �Ķ����ͻ��������Ϊ������ SWF �ļ�Դ�ڲ�ͬ��Ŀ¼��

��Ȼ localPath �����ǿ�ѡ�ģ�������Ӧ�ÿ��Ǹò�������;���ر������� SWF �ļ���Ҫ���ʹ������ʱ�� �����������е������ض���һ�������ƶ�������λ�õ� SWF �ļ�����ʹ��Ĭ��ֵ���������⡣ ������� SWF �ļ���Ҫ���ʹ�����󣬻���������������� SWF �ļ��Ժ󽫷����ƶ�����˲�����ֵ��Ӱ�칲�����Ŀɷ����ԡ� ���磬����� localPath ����Ϊ���� SWF �ļ�����·����Ĭ��ֵʱ����һ�����������ô�����κ� SWF �ļ������޷����ʸù������ ������Ժ�ԭʼ�� SWF �ļ��ƶ�����һ��λ�ã���ô�������Ǹ� SWF �ļ�Ҳ���޷������Ѿ��洢�ڹ�������е����ݡ�

Ϊ�����������ƶԹ������ķ��ʣ���ʹ�� localpath ������ ���������ߵķ����ǽ� localPath ����Ϊ /��б�ܣ�����������ʹ���е����� SWF �ļ����ɷ��ʸù�����󣬵�����������������������������Ƴ�ͻ�Ŀ����ԡ� ���Ƽ���ϸߵķ������� localPath ׷�� SWF �ļ�����·���е��ļ������� ���磬����λ�� www.myCompany.com/apps/stockwatcher.swf �� SWF �ļ������� portfolio ������󣬿��Խ� localPath ��������Ϊ/��/apps �� /apps/stockwatcher.swf�� ������ȷ�����ַ�����Ϊ����Ӧ�ó����ṩ��ѵ�����ԡ�

ʹ�ô˷���ʱ���뿼�� Flash Player ��ȫģ�ͣ�

�ٶ�����Ҫ�طŵ� SWF �ļ����ݷ���Ϊ�����ļ������ذ�װ�� SWF �ļ��� EXE �ļ������ң�����Ҫ�Ӷ������ SWF �ļ�����ij���ض��Ĺ������ ����������£���ע�⣺���ڱ����ļ����ԣ����ܻ�ʹ��������ͬλ�����洢������� ���õ���ȡ����Ϊ�����ù������ı����ļ�����İ�ȫȨ�ޡ� �����ļ����Ծ������ֲ�ͬ�����Ȩ�ޣ�

  1. ���ܷ��ʱ����ļ�ϵͳ��
  2. ���ܷ������硣
  3. ���ܷ������磬Ҳ�ܷ��ʱ����ļ�ϵͳ��

���Է��ʱ����ļ�ϵͳ��1 ���� 3 �����ı����ļ����乲�����洢��һ��λ�á� �޷����ʱ����ļ�ϵͳ��2 �����ı����ļ����乲�����洢����һλ�á�

�����ڰ��� SWF ���ݵ� HTML ҳ������ object �� embed ��ǩ�� allowNetworking ��������ֹ SWF �ļ�ʹ�ô˷�����

�й���ϸ��Ϣ����������²��֣�

����

name:String — ��������ơ� �����ƿ��԰�����б�� (/)�����磬work/addresses �ǺϷ����ơ� ������������в�����ʹ�ÿո�Ҳ������ʹ�������ַ���
  ~ % & \ ; : " ' , < > ? # 
  
 
localPath:String (default = null) — �����˹������� SWF �ļ�������·���򲿷�·�����⽫ȷ���������ı��ش洢λ�á� ���δָ���˲�������ʹ������·����
 
secure:Boolean (default = false) — ȷ���Դ˹������ķ����Ƿ�ֻ����ͨ�� HTTPS ���Ӵ��ݵ� SWF �ļ��� ��� SWF �ļ�ͨ�� HTTPS ���ݣ���˲���ֵ��������Ч����
  • ����˲�������Ϊ true���� Flash Player ������һ���µİ�ȫ���������ȡһ�������а�ȫ�����������á� ֻ����ͨ�� HTTPS ���ݵ� SWF �ļ��Դ˰�ȫ���������ж�ȡ��д�룬���� HTTPS ���� SharedObject.getLocal() ���� secure ��������Ϊ true��
  • ����˲�������Ϊ false���� Flash Player ������һ���µĹ��������ȡһ�������й����������ã�����ͨ���� HTTPS ���Ӵ��ݵ� SWF �ļ��Դ˹����������й����������ý��ж�ȡ��д�롣

������� SWF �ļ���ͨ���� HTTPS ���Ӵ��ݵģ����������Խ��˲�������Ϊ true�����޷������µĹ�����󣨻������ǰ�����İ�ȫ������󣩣����ҷ��� null�� ���۴˲���Ϊ��ֵ�������Ĺ��������������ӽ���������Ĵ��̿ռ��������

�����ͼʾ˵���� secure ��������;��

����
SharedObject — һ���Թ����������ã��ù���������������ڱ��ز���ֻ�����ڵ�ǰ�ͻ��ˡ� ��� Flash Player �޷��������ҵ�����������磬ָ���� localPath �������ڴ�Ŀ¼ʱ�����˷����������쳣��

����
Error — ����ʲôԭ��Flash Player �����ܴ���������� �����ֹ������ Flash ���ݴ�����洢���ù�����󣬽����ִ˴��� �û�������“���ù�����”��“ȫ�ִ洢����”����Ͻ�ֹ���������ù������������������ http://www.adobe.com/support/documentation/cn/flashplayer/help/settings_manager03.html��

����μ�

getRemote()���� 
public static function getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

�Խ������������� Flash Media Server���ڶ���ͻ��˼乲��Ķ��󷵻�һ�����á� ����в����ڹ��������˷���������һ���������

���´�����ʾ��ν����صĹ���������ø���������

var myRemote_so:SharedObject = SharedObject.getRemote(name, remotePath, persistence);

��Ҫ����ֻ�����ڵ�ǰ�ͻ��˵Ĺ��������ʹ�� SharedObject.getLocal()��

���ô˷�������ʹ�� SharedObject.connect() ���������ӵ�Ӧ�ó���������������д�����ʾ��

     var myNC:NetConnection = new NetConnection();
     myNC.connect("rtmp://[yourDomain].com/applicationName");
     var myRemoteSO:SharedObject = SharedObject.getRemote("mo", myNC.uri, false);
     myRemoteSO.connect(myNC);
     

��Ҫȷ�Ϲ������ı��ظ�����Զ�̸�����ͬ������ʹ�� sync �¼���

ϣ������˶�������пͻ��˱���Ϊ name �� remotePath ����������ͬ��ֵ�� �й�Զ�̹�������������Ϣ������� Flash Media Server �ĵ��е� SharedObject.getRemote()��

����

name:String — ��������ơ� �����ƿ��԰�����б�� (/)�����磬work/addresses �ǺϷ����ơ� ������������в�����ʹ�ÿո�Ҳ������ʹ�������ַ���
 ~ % & \ ; : " ' , > ? ? #
 
remotePath:String (default = null) — ���洢�������ķ������� URI�� �� URI �����봫�ݸ� SharedObject.connect() ������ NetConnection ����� URI ��ͬ��
 
persistence:Object (default = false) — ָ�����������������Ե������DZ������ô��滹��Զ�����ô��棬������ͬʱ���б������ô����Զ�����ô��档 �˲�������ָ���������ı��ش洢λ�á� �ɽ��ܵ�ֵ������
  • false��ָ���ͻ��˻�������ϵĹ�������������Եġ�
  • true��ָ��ֻ�з������ϵĹ�������������Եġ�
  • ������������·���򲿷�·����ָ���ͻ��˺ͷ������ϵĹ�������������Եġ� �ͻ��˵Ĺ������洢��ָ��·���У����������еĹ��������洢��Ӧ�ó���Ŀ¼�е���Ŀ¼�ڡ�

ע�⣺����û���ѡ���˴Ӳ��������ı��ش洢����ʹ������·��ָ��Ϊ�����ԣ�����Ҳ�����ڱ��ر��档 �й���ϸ��Ϣ����������������

 
secure:Boolean (default = false) — ȷ���Դ˹������ķ����Ƿ�ֻ����ͨ�� HTTPS ���Ӵ��ݵ� SWF �ļ��� �й���ϸ��Ϣ������� getLocal ������Ŀ�ж� secure ������������

����
SharedObject — �Կ��ڶ���ͻ��˼乲��Ķ�������á�

����
Error — Flash Player �޷��������ҵ�������� ���Ϊ remotePath �� persistence ����ָ�������ڵ�·�����򽫳������������

����μ�

send()���� 
public function send(... arguments):void

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

�����ӵ�ָ��Զ�̹����������пͻ��ˣ��������͸���Ϣ�Ŀͻ��ˣ��㲥һ����Ϣ�� ��Ҫ�������Ӧ��Ϣ����Ӧ������������Խ��䷢�͵��������

����

... arguments — һ������������һ����ʶ��Ϣ���ַ��������ӵ���������һ������������������ƣ��Լ��������͵Ŀ�ѡ������ ���Ǿ������л���ͨ�������ӷ��ͣ������մ������������ͬ��˳��������ǡ� ��ij������Ϊѭ���������磺ѭ����������������л���������ȷ�ش������á�

ע����������������ʹ�ñ������ ���磬myRemoteSO.send("close") ��ʧ�ܡ�

setDirty()���� 
public function setDirty(propertyName:String):void

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

֪ͨ�����������������ԣ��� data ���Զ��壩ֵ�Ѹ��ġ� �˷��������Ա�ǩΪ�Ѹ��� (dirty)�������ڷ������� ActionScript ��ʹ�á�

��ʹ�� SharedObject.data ���Ի���ȫͨ�������µġ�Ψһ���Ƶ� SharedObject ������Ϊ������󴴽����ԡ� �й����ַ�����IJ������ϸ��Ϣ������� SharedObject.data ���ԡ�

SharedObject.setProperty() ����ʵ���� setDirty() ������ ���������£����統���Ե�ֵΪ String �� Number ��ԭʼ����ʱ��Ӧʹ�� setProperty()������ʹ�� setDirty()�� Ȼ������ij�����Ե�ֵ��һ���������������ԵĶ���ʱ����ʹ�� setDirty() ��ָʾ�ö����е�ֵ�ĸ���ʱ�䡣

����

propertyName:String — �Ѹ��ĵ��������ơ�

����μ�

setProperty()���� 
public function setProperty(propertyName:String, value:Object = null):void

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

���¹��������ij�����ԣ��� data ���Զ��壩��ֵ����֪ͨ�����������Ե�ֵ�Ѹ��ġ� setProperty() ������ʽ�ؽ����Ա�ǩΪ�Ѹ��� (dirty)�����ڷ������� ActionScript ��ʹ�á� һЩ���������� Flash Media Server��Ҫ����ʽ���� setProperty()���Ա�ָʾ����������Եĸ���ʱ�䡣

����ڷ������˵��� SharedObject.setProperty()������ͨ���ͻ����ϵ� sync �¼�Ϊ�κ�ʹ�ù������� Flash Player �ͻ��˵��ø���֪ͨ�� �������˵� propertyName ������ͻ��˵� data ���� (property) ������ (attribute) ��ͬ�� ���磬���´����ж��ǵ�Ч�ģ�ǰ�����Ƿ������� ActionScript�������к͵������ǿͻ��� ActionScript��

  setProperty("nameVal", "foo");
  setDirty("nameVal");
  data["nameVal"] = "foo";
  data.nameVal = "foo";
  

Flash Media Server �û����Դ� Flash Media Server Server-Side ActionScript Language Reference���ҵ����ڷ������� ActionScript ��Զ�̹�������������Ϣ��

ע�⣺SharedObject.setProperty() ����ʵ���� setDirty() ������ ���������£����統���Ե�ֵΪ String �� Number ��ԭʼ����ʱ��Ӧʹ�� setProperty()������ʹ�� setDirty�� Ȼ������ij�����Ե�ֵ��һ���������������ԵĶ���ʱ����ʹ�� setDirty() ��ָʾ�ö����е�ֵ�ĸ���ʱ�䡣 ͨ������õ��� setProperty() ����Ҫ���� setDirty()����Ϊ setProperty() ֻ��ֵ�����ĵ�ʱ���������ֵ���� setDirty() ��ǿ�����ж��Ŀͻ��˽���ͬ����

����

propertyName:String — ������������Ե����ơ�
 
value:Object (default = null) — ����ֵ��һ�� ActionScript ���󣩣����Ϊ null ��ɾ�����ԡ�

����μ�

�¼���ϸ��Ϣ
asyncError �¼�
�¼���������: flash.events.AsyncErrorEvent
AsyncErrorEvent.type property = flash.events.AsyncErrorEvent.ASYNC_ERROR

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

���첽�����쳣�������Ա����첽���룩ʱ���ȡ�

AsyncErrorEvent.ASYNC_ERROR �������� asyncError �¼������ type ����ֵ��

���¼������������ԣ�

����ֵ
bubblesfalse
cancelablefalse��û��Ҫȡ����Ĭ����Ϊ��
currentTarget��ǰ����ʹ��ij���¼����������� Event ����Ķ���
target�����������ʧ�ܵĶ���
error�������¼��Ĵ���
netStatus �¼�  
�¼���������: flash.events.NetStatusEvent
NetStatusEvent.type property = flash.events.NetStatusEvent.NET_STATUS

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

�� SharedObject ʵ��������״̬���������ʱ���ȡ� netStatus �¼����� info ���ԣ�������Ϊ�����¼��ض���Ϣ�����磬���ӳ����Ƿ�ɹ���������Ƿ񱻳ɹ�д�뱾�ش��̣�����Ϣ����

���� netStatus �¼������ type ����ֵ��

���¼������������ԣ�

����ֵ
bubblesfalse
cancelablefalse��û��Ҫȡ����Ĭ����Ϊ��
currentTarget��ǰ����ʹ��ij���¼����������� Event ����Ķ���
infoһ�����󣬾������������״̬�������������ԡ�
target������״̬�� NetConnection �� NetStream ����

����μ�

sync �¼�  
�¼���������: flash.events.SyncEvent
SyncEvent.type property = flash.events.SyncEvent.SYNC

���԰汾 : ActionScript 3.0
Player �汾 : Flash Player 9

�ڷ�����������Զ�̹������(SharedObject)����ȡ�

���� sync �¼������ type ����ֵ��

���¼������������ԣ�

����ֵ
bubblesfalse
cancelablefalse��û��Ҫȡ����Ĭ����Ϊ��
currentTarget��ǰ����ʹ��ij���¼����������� Event ����Ķ���
changeListһ�����飬����������״̬�����ԡ�
target���ɷ��������µ� SharedObject ʵ����

����μ�

ʾ�� ���ʹ��ʾ��

���´���ʹ�� ID "application-name" ���������ں���ִ�й����м�����һ��������� ����“����”��ťʱ��saveValue() �������Խ�һ����Ϊ savedValue �����Ա��浽 SharedObject ����� data �����ԡ� ��� Flash Player Ҫ���ṩ�������ݵ�Ȩ�ޣ����û������ܾ�����Ȩ��ʱ�������� onFlushStatus() ������ ����“���”��ťʱ��clearValue() ������ɾ�� savedValue �б����ֵ���´μ��� SWF �ļ�ʱ����������ֵΪ undefined��
package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.events.NetStatusEvent;
    import flash.net.SharedObject;
    import flash.net.SharedObjectFlushStatus;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFieldType;
    
    public class SharedObjectExample extends Sprite {
        
        private var mySo:SharedObject;
        
        public function SharedObjectExample() {
            buildUI();
            saveBtn.addEventListener(MouseEvent.CLICK, saveValue);
            clearBtn.addEventListener(MouseEvent.CLICK, clearValue);
            
            mySo = SharedObject.getLocal("application-name");
            output.appendText("SharedObject loaded...\n");
            output.appendText("loaded value: " + mySo.data.savedValue + "\n\n");
        }

         private function saveValue(event:MouseEvent):void {
            output.appendText("saving value...\n");
            mySo.data.savedValue = input.text;
            
            var flushStatus:String = null;
            try {
                flushStatus = mySo.flush(10000);
            } catch (error:Error) {
                output.appendText("Error...Could not write SharedObject to disk\n");
            }
            if (flushStatus != null) {
                switch (flushStatus) {
                    case SharedObjectFlushStatus.PENDING:
                        output.appendText("Requesting permission to save object...\n");
                        mySo.addEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
                        break;
                    case SharedObjectFlushStatus.FLUSHED:
                        output.appendText("Value flushed to disk.\n");
                        break;
                }
            }
            output.appendText("\n");
        }
        
        private function clearValue(event:MouseEvent):void {
            output.appendText("Cleared saved value...Reload SWF and the value should be \"undefined\".\n\n");
            delete mySo.data.savedValue;
        }
        
        private function onFlushStatus(event:NetStatusEvent):void {
            output.appendText("User closed permission dialog...\n");
            switch (event.info.code) {
                case "SharedObject.Flush.Success":
                    output.appendText("User granted permission -- value saved.\n");
                    break;
                case "SharedObject.Flush.Failed":
                    output.appendText("User denied permission -- value not saved.\n");
                    break;
            }
            output.appendText("\n");

            mySo.removeEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
        }
        
        // UI elements
        private var inputLbl:TextField;
        private var input:TextField;
        private var output:TextField;
        private var saveBtn:Sprite;
        private var clearBtn:Sprite;
    
        private function buildUI():void {
            // input label
            inputLbl = new TextField();
            addChild(inputLbl);
            inputLbl.x = 10;
            inputLbl.y = 10;
            inputLbl.text = "Value to save:";
            
            // input TextField
            input = new TextField();
            addChild(input);
            input.x = 80;
            input.y = 10;
            input.width = 100;
            input.height = 20;
            input.border = true;
            input.background = true;
            input.type = TextFieldType.INPUT;
            
            // output TextField
            output = new TextField();
            addChild(output);
            output.x = 10;
            output.y = 35;
            output.width = 250;
            output.height = 250;
            output.multiline = true;
            output.wordWrap = true;
            output.border = true;
            output.background = true;
            
            // Save button
            saveBtn = new Sprite();
            addChild(saveBtn);
            saveBtn.x = 190;
            saveBtn.y = 10;
            saveBtn.useHandCursor = true;
            saveBtn.graphics.lineStyle(1);
            saveBtn.graphics.beginFill(0xcccccc);
            saveBtn.graphics.drawRoundRect(0, 0, 30, 20, 5, 5);
            var saveLbl:TextField = new TextField();
            saveBtn.addChild(saveLbl);
            saveLbl.text = "Save";
            saveLbl.selectable = false;
            
            // Clear button
            clearBtn = new Sprite();
            addChild(clearBtn);
            clearBtn.x = 230;
            clearBtn.y = 10;
            clearBtn.useHandCursor = true;
            clearBtn.graphics.lineStyle(1);
            clearBtn.graphics.beginFill(0xcccccc);
            clearBtn.graphics.drawRoundRect(0, 0, 30, 20, 5, 5);
            var clearLbl:TextField = new TextField();
            clearBtn.addChild(clearLbl);
            clearLbl.text = "Clear";
            clearLbl.selectable = false;
        }
    }
}




 

������ӵ�ҳ�����ҷ��͵����ʼ� | ���۱���

��ǰҳ: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/flash/net/SharedObject.html