您的位置:首页 > 移动开发 > Objective-C

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

2010-04-10 14:20 281 查看
在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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: