cookie与sharedObject之间的比较以及flex利用cookie

来源:互联网 发布:博微工程造价软件 编辑:程序博客网 时间:2024/05/16 23:34

在php里创建cookie只需要:

 

setcookie ($user,$value,time()+2*60); //cookie写入客户端

 

删除cookie也只需要再次设置一次 cookie将 时间变成过去的就可以了  setcookie ($user,$value,time()-20);  //

在flex里创建sharedObject

 var so:sharedObject= sharedObject.getLocal("sample"); //得到sharedObject的引用,没有则创建Sharedobject ,这部可以理解为加载SO

//我们像在cookie里一样给其赋值:

 so.data.user="dreamnight"// 写入user属性

//由于SharedObject是存储在硬盘上的文件我需要刷新缓冲区,将其写入文件 

 

 

由于cookie可以再flex/flash和其他的html以及x像php这样的语言中使用 而SO只能在flex/flash中使用

 

为了更好的利用他们  我们以cookie作为中间量:

 

 

so.flush();

 

与cookie的删除对比

注意SharedObject本身是一个文件 也就是个空壳 只有填充数据后才能称为真正的SO

例如

var so:sharedObject= sharedObject.getLocal("sample");

if(so.data.size()==){

trace("so对象不存在");//这里并没有实际意义上的cookie(SO)  相当于没有SO.一样,只有填充数据了才叫SO

}

 

由上可知,当我们删除SO时,不需要删除SO文件 只需要删除里面的数据即可:

So.data.clear();

注意clear后 只是将so.data.user的值删掉了  但是  这个uer属性还是存在的!只是user undefined  下次我们创建SO时可以再次写一遍,即再次  So.data.user=“某个值”

 

虽然SO很好但是 我还是喜欢cookie些   下面是flash利用cookie的例子:

php端:

<?php

if(isset($_POST['act']) && $_POST['act'] == 'getcookie')  //  act 属性是flash端通过URLLoader(或者httpService)发送过来的
{
 if(isset($_COOKIE['sample']))
 {
  print "resp=" . $_COOKIE[$_POST['cookieName']];// resp 最后返回给flash端
 }
 else
 {
  print "resp=" . "cookie_not_found";
 }
}

?>

 

flash端:

var phpFile:String = "http://localhost/flashphp/examples/ch%2006/cookies/loadCookie.php";

var variables:URLVariables = new URLVariables();
variables.act = 'getcookie';
variables.cookieName = 'sample';

var urlRequest:URLRequest = new URLRequest(phpFile);
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = variables;

var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, serverHandler);
loader.load(urlRequest);

function serverHandler(e:Event):void
{
 var loader:URLLoader = URLLoader(e.target);
 var variables:URLVariables = new URLVariables(loader.data);
 
 if(variables.resp == 'cookie_not_found')
 {
  trace("Requested Cookie Not Found");
 }
 else
 {
  trace("Cookie Data: " + variables.resp);
 }
}

原创粉丝点击