私はアンドロイドでサーバークライアントアプリケーションを開発していますが、アプリケーションのサーバー側でセッションを使用していますが、サーバー上でセッションを失うことがあります。 Ps:私はサーバー上でhttps接続を使用しています。Androidサーバー/クライアントアプリケーションセッションの問題
私はセッションを保持するためにこれらを使用しています:
- 私は、単一のインスタンスDefaultHttpClientを使用し、すべてのHTTP要求のためにそれを使用しています。私はHTTPSのみ証明書のみを使用してhttpPost方法
を使用
- :
schemeRegistry.register(新スキーム( "HTTPS"、のSSLSocketFactory、443)); ClientConnectionManager cm =新しいThreadSafeClientConnManager(params、schemeRegistry);
私はすべてのHTTPリクエストの後に私のクッキーを保存します。
プライベートボイドcreateSessionCookie(){
List<Cookie> cookies = httpclient.getCookieStore().getCookies(); if (! cookies.isEmpty()){ CookieSyncManager.createInstance(ctx); CookieManager cookieManager = CookieManager.getInstance(); //sync all the cookies in the httpclient with the webview by generating cookie string for (Cookie cookie : cookies){ Cookie sessionInfo = cookie; String cookieString = sessionInfo.getName() + "=" + sessionInfo.getValue() + "; domain=" + sessionInfo.getDomain(); cookieManager.setCookie(UrlConstants.SERVICE_PRE_URL, cookieString); CookieSyncManager.getInstance().sync(); } }
}
私はこれらをやっているにもかかわらず、私はセッションを失います。 この問題を解決するのを手伝ってください。 アドバイスありがとうございました 最高のお付き合い
を持っていますか? – cagryInside
いいえ、あなたは 'CookieStore'の一インスタンスしか必要としませんが、' HttpContext'を渡す限り、あなたは好きなだけ多くの異なるget/postリクエストを使うことができます。 。 – lenik
あなたのコードを実装しましたが、うまくいきました。 – cagryInside