2013-07-07 2 views
0

로그인이 필요한 모바일 앱을 구축 중입니다. 나는 서버와 응용 프로그램의 세션 ID에 PHP 세션을 저장합니다. 앱 작동 중에 (프로필 정보 가져 오기, 알림 받기 등) 세션 ID를 서버에 다시 전달하여 요청 된 작업에 올바른 세션이 있는지 확인합니다. 이것은 훌륭한 일이지만 사용자가 유효한 세션을 가지고 있는지를 간헐적으로 확인하는 것이 가장 좋은 방법인지 궁금해하고있었습니다. 같은 사용자가 다른 기기에서 앱에 로그인하면 이전 기기에서 로그 아웃하고 싶기 때문입니다.Starling AS3 모바일 앱은 사용자 세션이 x 초마다 유효한지 확인합니다.

나는 네트워크 변경 이벤트를 사용하여 네트워크 연결의 변화를 수신 대기하고 있습니다.

x 초마다 서버를 핑 (ping)하는 기능이 내장되어 있습니까?

답변

0

일반적으로 없습니다. 세션이 "유효"한지 여부를 수동으로 확인해야합니다. 귀하의 API 클래스에서 타이머를 시작할 수 있습니다.

package { 
import flash.events.EventDispatcher; 
import flash.events.TimerEvent; 
import flash.utils.Timer; 

public class ServerAPI extends EventDispatcher 
{ 
    final var sessionTimeout:int = 20 * 60 * 1000; 
    final var sessionTimer:Timer; 
    public function ServerAPI() 
    { 
     sessionTimer = new Timer(sessionTimeout) 
     sessionTimer.addEventListener(TimerEvent.TIMER, onSessionCheck) 
     sessionTimer.start() 
    } 

    private function onSessionCheck(e:TimerEvent):void 
    { 
     //executes every 20 minutes 
     //checks session with URL request 
    } 

    public function anotherMethod(callback:Function, parameter1:int, parameter2:String){ 
     //do whatever 
    } 
} 
} 
+0

감사 : 은 아마 당신은 당신의 서버와 통신 생성자에 타이머를 추가하는 방법이 있습니다 싱글 톤 클래스 ServerAPI 있습니다. 그것은 기능이 내장되어 있지 않다면 그것은 길일 것입니다. – puks1978

관련 문제