1

私の Android アプリは、10 秒ごとにサーブレットにデータを送信します。サーブレットは最初のリクエストを受け取り、応答します。しかし、サーブレットは、クライアントが次の 10 秒後に送信する 2 番目のデータ セットを受信しません。どうすればこれを行うことができるか教えてください。それはセッションに関連するものですか?

4

2 に答える 2

3

Http は永続的な接続プロトコルではありません。送信する必要があるデータ セットごとに 1 つの http 要求を発行することを検討する必要があります。

永続的な接続が必須の場合 (しかし、それを強制する理由はよくわかりません)、TCP プロトコルを使用する必要があり、サーバー側でサーブレットを使用することはできません。ただし、特定の TCP ポートをリッスンする特定のアプリケーション。

于 2010-10-20T05:15:52.247 に答える
0

これは、リクエストごとに新しいものを作成する代わりに既存のものを再利用しURLConnection、空の catch ブロックや stderr を無視することで例外を抑制しているように聞こえます。

独立したリクエストごとに、新しい URLConnectionを作成する必要があります。

URL url = new URL("http://example.com");

// First request.
URLConnection connection1 = url.openConnection();
// Process it...

// Second request.
URLConnection connection2 = url.openConnection();
// Process it...

// Etc...

セッション管理は、サーブレットがHttpSession後続のリクエストで再アクセスしたいものを保存している場合にのみ現れます。ここではそうではないようです。

于 2010-10-21T15:34:33.877 に答える