C++とnetwork programming

socket class を作るに当たり、まずは java を手本にすることを考えよう。 手元にある本から、まずは次のプログラムを動かすことを目標にする。

// HttpMirror.java
//
// 出典:
// JAVA プログラム クイック リファレンス
//   David Flanagan 著
//   小俣 裕一 監訳
//   豊福 剛 訳
//   ISBN4-900900-09-5
// 例9-5

import java.io.*;
import java.net.*;

public class HttpMirror {
  public static void main(String args[]) {
    try {
      int port = Integer.parseInt(args[0]);
      ServerSocket ss = new ServerSocket(port);
      for(;;) {
        Socket client = ss.accept();
        BufferedReader in =
          new BufferedReader(new InputStreamReader(client.getInputStream()));
        PrintWriter out =
          new PrintWriter(new OutputStreamWriter(client.getOutputStream()));
        out.println("HTTP/1.0 200 ");
        out.println("Content-Type: text/plain");
        out.println();
        out.flush();
        String line;
        while((line = in.readLine()) != null) {
          if (line.length() == 0) break;
          out.println(line);
        }
        out.close();
        in.close();
        client.close();
      }
    }
    catch (Exception e) {
      System.err.println(e);
      System.err.println("Usage: java HttpMirror <port>");
    }
  }
}

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-04-28 (金) 09:12:58