・   「Java言語」実習 第16回

ネットワークの利用

java.netパッケージの機能を用いて、 インターネット上の情報やデータの取得、 TCP/IPによる通信プログラムなどのサンプルを紹介します。


・ 準備(学内向け):
各自のJavaの課題の作業用のディレクトリ ~/www/java に移動しなさいなさい。 その中で以下の作業を行いなさい。


・ 基本課題1:「自分のマシンの情報を調べる」

  1. ソースファイル MyHost.java を作成しなさい。
  2. コンパイルできたら、実行し結果を確認しなさい。

・ 基本課題2:「インターネット上のマシンの情報を調べる」

  1. ソースファイル HostInfo.java を作成しなさい。
  2. コンパイルできたら、たとえば次のようにして実行し、結果を確認しなさい。
    
    java  HostInfo  rishiri
    java  HostInfo  www.wakhok.ac.jp
    java  HostInfo  java.sun.com
    java  HostInfo  202.11.100.4
    java  HostInfo  198.137.240.91
    
    

・ 基本課題3:「URLで指定した資源の取得(テキスト)」

  1. ソースファイル URLTextContent.java を作成しなさい。
  2. コンパイルできたら、たとえば次のようにして実行し、結果を確認しなさい。
    
    java  URLTextContent  file:/etc/hosts
    java  URLTextContent  http://www.wakhok.ac.jp/
    
    

・ 基本課題4:「URLで指定した資源の取得(画像)」

  1. ソースファイル URLImageContent.javaImageViewer.java を作成しなさい。
  2. コンパイルできたら、たとえば次のようにして実行し、結果を確認しなさい。
    
    java  URLImageContent  http://www.wakhok.ac.jp/hokusei.gif
    
    

・ 基本課題5:「TCP/IPによる通信(サーバ側)」

  1. ソースファイル DengonServer.java を作成しなさい。 ただし通信するメッセージの内容は各自で工夫したものに変更すること。
  2. コンパイルできたら実行し、クライアントからの通信を待ちなさい。 (この実習時間中は起動したままにしておくこと。)

・ 基本課題6:「TCP/IPによる通信(クライアント側)」

  1. ソースファイル DengonClient.java を作成しなさい。
  2. コンパイルできたら、たとえば次のようにして自分のサーバに 接続できることを確認しなさい(引数に与えるマシン名は自分の座席のものを 指定すること。) それが確認できたら、次に他のマシンで走っている DengonServer に接続できる かも試してみなさい。
    
    java  DengonClient  pc4fg6
    java  DengonClient  pc4fa3
    java  DengonClient  pc4fc1
              :
              :
    
    

・ 今週のレポート課題(学内用):
ここまでの課題が終わった人は、下記の項目を tatsuo宛のメール で報告しなさい。(Subjectは java16)

  1. 課題2:のプログラム(HostInfo)を使って、 www.kantei.go.jp(首相官邸のWWWサーバ)の IPアドレスを調べなさい。 また、198.137.240.91はどこのマシンのアドレスでしたか?
  2. 課題6:の通信プログラム(DengonClient)で、 他の人が起動した 3個の異なるマシン上の DengonServerから メッセージを受け取りなさい。 それぞれのマシン名とメッセージの内容を報告すること。

・ 応用課題:「UDPによる通信」

  1. ソースファイル PacketSender.javaPacketReceiver.java を作成しなさい。
  2. 各プログラムをコンパイルしなさい。
  3. TCP/IPの場合と同じように2個のウィンドウを開き、 PacketReceiver と PacketSenderの通信を試してみなさい。
  4. 他の人とペアを作って、互いのマシン間でパケットを送る実験を してみなさい。

実習の目次   今週の講義の内容