Windows用のLighthttpdをインストールし、fastcgiライブラリを使用するc++で簡単なプログラムを作成しました。ここにコードを投稿します...
#include "fcgi_stdio.h"
#include <stdlib.h>
int count;
void initialize(void)
{
count=0;
}
void main(void)
{
initialize();
while (FCGI_Accept() >= 0) {
printf("Content-type: text/html\r\n"
"\r\n"
"<title>FastCGI Hello! (C, fcgi_stdio library)</title>"
"<h1>FastCGI Hello! (C, fcgi_stdio library)</h1>"
"Request number %d running on host <i>%s</i>\n",
++count, getenv("SERVER_HOSTNAME"));
}
}
lightttpd-inc.confで以下の設定を使用して、lighttpdでfastcgiアプリケーションを生成しました。
fastcgi.server = ( ".exe" =>
( "" =>
(
"bin-path" => "D:\tinycgi.exe",
"port" => 8080,
"min-procs" => 1,
"max-procs" => 1
)
)
)
ブラウザを使用してリクエストを送信している間、サーバーはコンソールでこのメッセージで応答しています
2009-02-18 16:08:34: (mod_fastcgi.c.2494) unexpected end-of-file (perhaps the fa
stcgi process died): pid: 0 socket: tcp:localhost:8080
2009-02-18 16:08:34: (mod_fastcgi.c.3325) response not received, request sent: 1
024 on socket: tcp:localhost:8080 for /new/tinycgi.exe , closing connection
fastcgiアプリケーションが正しく生成されていないと思います。
ありがとう、ヴァルン