0

ログインが必要なモバイルアプリを構築しています。サーバーに PHP セッションを保存し、アプリにセッション ID を保存しています。アプリの操作 (プロファイル情報の取得、通知の取得など) 中に、セッション ID をサーバーに戻して、要求された操作に有効なセッションがあることを確認します。これはうまく機能しますが、ユーザーが有効なセッションを持っているかどうかを断続的に確認するための最良の方法は何だろうと思っていました. その理由は、同じユーザーが別のデバイスからアプリにログインした場合、以前のデバイスでログアウトしたいからです。

ネットワーク変更イベントを使用して、ネットワーク接続の変更をリッスンしています。これはうまく機能します。

x 秒ごとにサーバーに ping を実行する組み込み機能はありますか?

4

1 に答える 1

0

一般的にいいえ。セッションが「有効」かどうかを手動で確認する必要があります。API クラスでタイマーを開始できます。おそらく、サーバーと通信するためのメソッドを持つシングルトンクラス ServerAPI があり、そのコンストラクターにタイマーを追加します。

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 
    }
}
}
于 2013-07-07T08:20:02.237 に答える