課題3のヒント
webserver.c の中の各関数の働きは以下のとおり。
- void handle_request(int fd)
ソケット fd を通してブラウザからの要求を受信し、要求された HTML ファイルを送信する。
- char* get_filename(char* getcmd)
文字列 getcmd はブラウザから受信した GET 命令でなければならない。
この関数はここから要求されたファイル名を取りだす。
- void send_html(int fd, char* pathname)
pathname で指定される HTML ファイルを、ヘッダをつけてソケット fd を通じてブラウザに送信する。
- void send_badrequest(int fd)
エラー通知をブラウザに送信する。
- int send_newline(int fd)
改行をソケット fd を通じて送信する。
- int send_string(int fd, char* str)
'\0' で終わる文字列をソケット fd を通じて送信する。
'\0' は送信しない。
戻る
Copyright (C) 2000 Shigeru Chiba
Email: chiba@is.tsukuba.ac.jp