Androidでサーバークライアントアプリケーションを開発していて、アプリケーションのサーバー側でセッションを使用していますが、サーバーでセッションが失われることがあります。追伸:サーバーでhttps接続を使用しています。
私はこれらを使用してセッションを開催しています:
- 私は単一インスタンスのDefaultHttpClientを使用しており、すべてのhttpリクエストに使用しています。
- httpPostメソッドのみを使用します
https証明書のみを使用します:
SchemaRegistry.register(new Scheme( "https"、sslSocketFactory、443)); ClientConnectionManager cm = new ThreadSafeClientConnManager(params、schemeRegistry);
すべてのhttpリクエストの後にCookieを保存します。
private void 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(); } }
}
私はこれらをしているのに、私はセッションを失います。この問題を解決するのを手伝ってください。アドバイスをありがとうございます。よろしくお願いします。