Je suis en train de créer simplement l'application FastCGI écrit en C:FCGX_Accept_r fonctionne deux fois en application simple FastCGI sur C
#include <fcgiapp.h>
#include <stdio.h>
int main()
{
int sockfd = FCGX_OpenSocket("127.0.0.1:9000", 1024);
FCGX_Request request;
FCGX_Init();
FCGX_InitRequest(&request, sockfd, 0);
while (FCGX_Accept_r(&request) == 0)
{
printf("Accepted\n");
FCGX_FPrintF(request.out, "Content-type: text/html\r\n\r\n<h1>Hello World!</h1>");
FCGX_Finish_r(&request);
}
}
Il fonctionne très bien - quand je l'appelle à partir du navigateur, il affiche avec « Bonjour tout le monde! " message.
Le problème est que le code dans un « tout » fonctionne deux fois , à savoir que je vois sortie suivante dans le terminal:
[[email protected] example]$ ./hello
Accepted
Accepted
Pourquoi elle imprime « Accepté » deux fois par chaque demande? Si je mets du code réel ici, p. interroger un DB, il sera exécuté deux fois aussi bien.
Haw! La pause de cinq ans de la programmation Web a un effet. La seconde était vraiment une demande du navigateur à un favicon. Merci beaucoup! –
Oui, c'était aussi la première chose à laquelle j'ai trébuché. – thrig