タグ

ブックマーク / research.nii.ac.jp/~ichiro (2)

  • HTTPサーバプログラムの作成

    HTTPサーバはTCP/IP通信のサーバの一つです。HTTPサーバはホームページの用 サーバとなるだけでなく、インターネットにおける汎用的な情報発信サーバと して利用されつつあります。実際、HTTPサーバを組み込んだ情報家電製品など が登場してきていてます。インターネット上のすべてのコンピュータにHTTPサー バが組み込まれる時代も遠い未来ではないかもしれません。 ここでは、HTTPサーバプログラムの作成方法について解説します。取り上げる 例題は最も簡単なHTTPサーバであり、HTTPリクエストのメソッドのうち「GET」 にしか対応していません。また、重要なエラー処理以外は省略されています。 しかし、簡単な情報発信であれば十分に使えるものです。他のメソッドや例外 処理は読者の皆様にお任せすることにします。 #include <sys/fcntl.h> #include <sys/socke

  • サーバプログラム

    (1)のソケット生成ではsocket()システムコールを使ってソケットを 生成します。socket()を呼び出すときは、その引数にはTCP通信に利 用するプロトコルの種類を与えます。ここでプロトコルの種類とはインターネッ ト用のものであることや、TCPやUDPの種別も含まれます。また、socket() の返値はソケット番号という整数値を返します。これは各ソケットの識別 子となります。 socket()を実行した段階ではソケットが作られただけであり、ポー ト番号などは未確定です。そこで、(2)ではbind()システムコールを 使い、(1)で生成したソケットにポート番号など割り当てます。 TCP通信のサーバ側はクライアントから通信接続を待つ側になります。このた め、通信接続を待つための準備作業が必要になります。これには(3)の listen()システムコールを利用します。 ここで準備が整いまし

  • 1