0

5 秒ごとに関数 :

private boolean ping() {
    try {
        URL pingServerUrl = new URL(serverResourceLocator);
        HttpURLConnection connection = (HttpURLConnection) pingServerUrl.openConnection();
        if(connection.getResponseCode() == 200) {
            lastPingSuccessful = true;
        }
        System.out.println("pinged");
    }catch(Exception exc) {
       exc.printStackTrace(); 
       return lastPingSuccessful;
    }

    return lastPingSuccessful;

}

と呼ばれます。ping機能の一種です。サーバー上のサーブレットへの接続を試み、URL とともに資格情報を送信しますserverResourceLocator。気になるのは、5 秒ごとに新しい接続が開かれることです。

どうすれば回避できますか?

4

5 に答える 5

0

EXPIRY_TIME の後にクライアントのデータを削除したいとしましょう。

次の 2 つの方法のいずれかに従うことができると思います。

  1. セッションの変更時間 (最後のアクセス時間を示唆する) でいくつかの cron ジョブ (スケジューラ) を確認できます。
  2. クライアントのリクエストごとにフラットファイルシステムにアクセスログを設定し、アクセスログのcronジョブで確認

いずれの場合も、最終アクセス時間 > EXPIRY_TIME の場合、クライアントのデータを削除します。

このアプローチは往復を節約し、トラフィックを減らすのに役立ちます。

于 2013-01-03T06:35:57.123 に答える
0

ジョブが完了したら、接続を解放できます.とにかく、Java Webサーバーは複数のリクエストを受け取るように設計されています.5秒ごとにリクエストがサーバーに送信されますが、問題はありません.

于 2013-01-03T09:43:35.297 に答える