はじめてのJava ~ネットワーク編~
スポンサーリンク
今回はJavaでネットワークプログラミングをしていきます。
Webアプリなどを作るためには必須の技術ですのでしっかり覚えましょう。
クライアント/サーバアプリケーション
ここではクライアント/サーバアプリケーションを作っていきます。
それではさっそく見ていきましょう。
import java.io.*; // ネットワーク関係のパッケージ import java.net.*; class Server { public static void main(String args[]) { //ポート番号 final int PORT = 10000; try { String str; // サーバソケットを作成 ServerSocket ss = new ServerSocket(PORT); while(true) { // クライアントから要求を受ける Socket s = ss.accept(); // クライアントからの文字列を読み取る InputStream is = s.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); str = br.readLine(); System.out.println(str); // BufferedReaderオブジェクトをクローズする br.close(); } } catch(Exception e) { e.printStackTrace(); } } }
import java.io.*; import java.net.*; class Client { public static void main(String args[]) { final int PORT = 10000; // IPアドレス(ローカルホスト) final String LOCALHOST = "127.0.0.1"; try { Socket s = new Socket(LOCALHOST, PORT); // 文字列をサーバに書き込む OutputStream os = s.getOutputStream(); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os)); bw.write(args[0]); // BufferedWriterオブジェクトをクローズする bw.close(); } catch(Exception e) { e.printStackTrace(); } } }
説明の前に動かしてみましょう。
まず、コマンドプロンプトなどを開き、サーバプログラム(上のプログラム)を実行してください。
次に、もう一つコマンドプロンプトを開き、そちらでクライアントプログラム(下のプログラム)を実行します。
このとき、コマンドライン引数に好きな文字列を打ち込んでください。