TopPage > 演習課題 > 演習3-1 サーバとクライアント

サーバとクライアント

それでは,ネットワークのプログラミングを始めましょう!

※この演習では時間が少ないため,ネットワークのプログラミングの枠組み(スケルトン)をダウンロードしてもらい,それを改良することでネットワークのプログラミングについて学ぶという方針をとります.

JavaはC言語と似ており,幸運なことに,皆さんはC言語を習得していますので,Javaのプログラムの理解については,大きな問題は少ないと思います.

まず,下記のプログラムをダウンロードしてください.

fileMyServer.java ダウンロードソースコードファイルを見る
fileMyChatClient.java ダウンロードソースコードファイルを見る

説明

この2つのプログラムは,チャットを行うためのプログラムです.

この両方のプログラムを動かします.単体では動作しません. ネットワークプログラミングには,常に通信相手が必要です.

コンパイル&実行方法

  1. コマンドプロンプトを起動します.
  2. MyServer.java, MyChatClient.javaの両方をコンパイルします.
    Z:\java> javac MyServer.java
    Z:\java> javac MyChatClient.java
  3. サーバMyServerを実行します.
    図1.のような警告ダイアログが表示された場合、「このプログラムについてはこのメッセージを表示しない」にチェックをつけて、[OK]ボタンをクリックしてください.
    「The server has launched!」が表示されたら,正常にサーバが起動しています.
    Z:\java> java MyServer
    The server has launched!
    firewall.png
    図1. クライアント画面
  4. クライアントMyChatClientを実行します
    別々のパソコンで動かすと通信をしている感じがしますが,今は一台のパソコンで2つのクライアントプログラムを動かします.
    新しくコマンドプロンプトを起動し,MyChatClientを実行します. クライアント起動時に名前の入力を要求されますので,名前を入力します.
    Z:\java> java MyChatClient
    MyChatClient_window.PNG
    図2. クライアント画面

  5. 別のコマンドプロンプトを利用して,2つめのMyChatClientを実行します. 同じようにクライアントの起動時に名前の入力を要求されますので,先とは別の名前を入力します.
  6. クライアントの上にあるのフィールドに何か言葉をいれて,「Send」ボタンを押してください.もう一方のクライアントの下のフィールドにその入力した言葉が表示されることを確認してください.
  7. プログラムの停止方法
    クライアントは,ウィンドウの閉じる(×印)を押すと終了します.
    サーバは,キーボードの[Ctrl] キーを押しながら[C]を押すと終了します.

確認

サーバの起動しているコマンドプロンプトを見てみましょう.

Z:\java>java MyServer
The server has launched!
Accept client No.1
Accept client No.2
Received from client No.1(Yoshino), Messages: こんにちは.
Send messages to client No.1
Send messages to client No.2
Received from client No.2(Fujii), Messages: お元気ですか?
Send messages to client No.1
Send messages to client No.2
Disconnect from client No.1(Yoshino)

next.gif 次の演習(3-1-1)


トップ   一覧 単語検索 最終更新     最終更新のRSS