Previous | Next | Trail Map | Writing Applets | 他のプログラムとコミュニケートする


サーバ側アプリケーションを使って作業する

他の Java プログラムと同様に、アプレットは、java.net パッケージに定義された API を使用してネットワークでコミュニケートすることができる。 唯一の違いは、セキュリティ上の理由から、アプレットがコミュニケートできるホス トがアプレットの配信元ホストに限定されていることである。

アプレットの配信元ホストを調べるのは簡単である。 次のように、Applet の getCodeBase() メソッドと java.net.URL のgetHost() メソッドを使用するだけでよい。

String host = getCodeBase().getHost();

ユーザがアプレットに指定したホスト名とわずかでも異なるホスト名を指定すると、 既存のあらゆるセキュリティマネージャがコミュニケーションを禁止する。これは、 2 つの名前が結局は同じホストを指している場合でも同様である。 (明示的に記述されたホスト名ではなく) 上記のコードを使用すれば、作成したアプ レットが正しいホスト名を確実に使用することになる。

正しいホスト名を得た後は、カスタムネットワーキングとセキュリティ(in
the Networking trail)の節に記載されているように、すべてのネットワーキ ングコードを使用することができる。 その節のデータグラムのクライアントとサ ーバーを書く(in
the Networking trail)のページには、クライアントとサーバー、2 つのアプ リケーションのコード例が示されている。 そのクライアントのアプレット版はQuoteClientApplet.java である。 これは、アプレットが配信元ホストとコミュニケートできるように変更した上、グラ フィカルな UI をもち、好きなだけ引用句を取り出せるループを使用するように変更 が加えてある。次に示す HTML コードでそのアプレットをページに組み込めば、アプレットを実行す ることができる。

<applet code=QuoteClientApplet.class width=500 height=100>
</applet>

アプレットで引用句を取り出す前に、アプレットの配信元ホストでサーバを実行する 必要がある。 そして、サーバが待機しているポートを書き留めておく。この番号をアプレットに入力すると、アプレットとサーバーがつながれ、ユーザは 1 行の引用句を取り出せる ようになる。 以下に詳細な手順を示す。

  1. QuoteServer.javaQuoteServerThread.java をコンパイル する。 テキストファイル (one-liners) は生成されるクラスファイルと同じディレクトリに配置する。
  2. アプレットのクラスファイルを (HTTP を通して) サービスしているコンピュー タ上で、QuoteServer クラスファイルにインタプリタを起動する。
  3. 引用句サーバがプリントアウトするポート番号を書き留める。
  4. この番号をアプレットのテキストフィールドに入力する。
  5. Send ボタンを押し、サーバーから引用句を要求する。 これでテキストエリアに引用句が現れることになる。


活動中のサーバーは次のようになる。

活動中のアプレットは次のようになる。


Previous | Next | Trail Map | Writing Applets | 他のプログラムとコミュニケートする