以前に、Flexでセッションを使った場合に、複数の通信タイミングでセッションが同一であるかどうかをテストするプログラムを作ってた。
残しとこう!
SampleSingleWindowSession.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:HTTPService id="http" result="Handler(event)" /> <mx:Button x="10" y="10" label="実行" click="onClick()" /> <mx:Label x="10" y="40" text="ラベル" width="360" height="19" id="Label1"/> <mx:Label x="10" y="67" text="ラベル" width="360" id="Label2"/> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.rpc.AsyncToken; private var cnt:int = 0; private function onClick():void { if (cnt == 0) { http.url="http://localhost/flex3/session/page1.php"; } else { http.url="http://localhost/flex3/session/page2.php"; } http.send(); } private function Handler(event:ResultEvent):void { if (cnt == 0) { Label1.text = event.result as String; } else { Label2.text = event.result as String; } cnt++; } ]]> </mx:Script> </mx:WindowedApplication>
http://localhost/flex3/session/page1.php
<?php session_start(); echo 'start session:' . session_id();
http://localhost/flex3/session/page2.php
<?php session_start(); echo 'second session:' . session_id();
ボタンを2回以上押してもセッションIDは変わらず!