Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > c++ fastcgi


Автор: niro 21.6.2008, 16:06
Пытаюсь cgi-приложение перенести на fastcgi
Код для CGI:
Код

#include <fstream> 
#include <stdlib.h> 
#include <stdio.h> 
using namespace std;
int main(){
    printf("Content-type: image/gif\r\n");
    printf("\r\n");
    ifstream in("../image.gif");
    if (!in) return 1;
    char buf;
    buf = in.get();
    while (in){
        printf("%c",buf);
        buf = in.get();
    }
    in.close();
    return 0;
}


Код для FastCGI:
Код

#include <fstream> 
#include <stdlib.h> 
#include "fcgi_stdio.h" 
using namespace std;
int main(){
    while(FCGI_Accept() >= 0) {
        printf("Content-type: image/gif\r\n");
        printf("\r\n");
        ifstream in("../image.gif");
        if (!in) return 1;
        char buf;
        buf = in.get();
        while (in){
             printf("%c",buf);
             buf = in.get();
        }
        in.close();
    }
    return 0;
}


CGI пример естественно работает и выводит image.gif полностью. Пример для fastcgi выводит заголовок и кусок изображения, причем для разных gif-изображений разный, как это исправить ? 
Веб сервер: Apache2
Fastcgi версии 2.4.0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)