2011-01-07 9 views
0

クライアントをログインさせ、いくつかのタスクとログアウトを実行できるrmiを使用してアプリケーションを開発しています。私は各クライアントがサーバー上のメソッドを呼び出すときに1つのスレッドと見なされることを知っていますが、すべてのクライアントのスレッドはサーバー上に作成された同じオブジェクトを呼び出します。だから今、私は各クライアントのログインに成功し、新しいスレッドが作成されます(そして、1つのクライアントだけで使用される新しいオブジェクトもバインドされます)、スレッドはクライアントのログアウト時に終了します。したがって、各クライアントには、独自のサーバーオブジェクトがあります。RMI - クライアントにサービスを提供するサーバー上にスレッドを作成する

ありがとうございました。

乾杯

答えて

-1

非常に難しいですね。

接続するクライアントごとに新しいスレッドが作成され、クライアントの接続が切断されると終了します。最初のスレッドではできないログイン後にスレッドを計画していますか?

クライアントごとにオブジェクトが必要な場合は、ThreadLocalを使用してスレッドごとに(クライアントごとに)オブジェクトを持たせることができます。

2

私はそれが正しいではありません サーバー

上のメソッドを呼び出すときに、各クライアントは、1つのスレッドとして 考えられていることを知っています。クライアントとサーバスレッドの関係は、RMIでは定義されていません。

いずれの場合でも、クライアントごとにスレッドは必要ありません。クライアントごとにリモートオブジェクトが必要です。これは、セッションパターンのジョブです。

すべてのクライアントに対して新しいセッション実装オブジェクトを返しますか。

+0

セッションパターンはとても良いアイデアです。私はそれを試してみます。ありがとう。 –

関連する問題