2009-11-21 7 views
12

He encontrado solo dos bibliotecas FastCGI para C++. Está el "official" one y el fastcgi++. ¿Cómo es uno mejor que el otro? ¿Existen otros?FastCGI para C++

+2

Podría ser una buena pista aquí: http://stackoverflow.com/questions/746309/which-is-the-best-c-web-framework –

+1

@AssafLavie, ahora cómo está relacionado. – Pacerier

+1

Recientemente encontré [Cutelyst] (https://github.com/cutelyst/cutelyst) para C++/Qt que admite FastCGI. Es más fácil que escribir desde cero encima de la biblioteca RAW FastCGI :) – Grod

Respuesta

6

Como fastcgi ++ sigue apareciendo como "Estado de desarrollo: 4- Beta", por lo que sugeriría ir por el oficial. Ha existido por siglos y tiene enlaces para una gran cantidad de idiomas. Las licencias entre los 2 no parecen hacer mucha diferencia. Ponga algunas medidas en su código y si el rendimiento es un problema, pase algún tiempo jugando con alternativas.

+3

Más de la mitad de una ** década ** ya. ¿Cuál es la actualización? – Pacerier

2

La versión C de FastCGI hace muy poco, y desarrollar en C++ no es un problema tan grande ya que apenas interfiere con su propio código. Lo más probable es que solo sea un bucle y una variable de entorno.

Así que mi consejo sería simplemente seguir con la versión oficial.

Solo tenga en cuenta una cosa: ¡funciona redefiniendo printf! Entonces, si usa cout, no funcionará.

4

Véase también la biblioteca Cgicc:

http://www.gnu.org/software/cgicc/

La biblioteca parece ser maduro (actualmente en la versión 3.x). De acuerdo con la documentación, se puede usar con FastCGI pasando un lector personalizado (reader_function_t) al constructor de la clase Cgicc.

8

Lo que probablemente desee está oculto en el directorio contrib del paquete Cgicc.

fcgi-test.cpp es un ejemplo de cómo usar cgicc con FastCGI.

Camino a la fcgi-test.cpp instaladas deben /usr/share/doc/libcgicc-doc/examples/contrib/fcgi-test.cpp

6

La biblioteca oficial es más bien de bajo nivel, y como tal, sólo es útil como una intermedio para una biblioteca de CGI de alto nivel tal como cgicc.

Fastcgi ++, por otro lado, permite el uso de modismos C++ cuando se trata de FastCGI. Incompleteness en v1 me motivó a bifurcarlo en mosh-fcgi.

Pros: Mi tenedor cumple con todos los puntos de la norma (especialmente ROLE_FILTER) todo está ampliamente templated, por lo que es más fácil de usar T arbitrario para std :: basic_strings. Contras: Mis modificaciones están en modo alfabético.

En cualquier caso, descargue el último código postal desde https://github.com/moshbear/mosh-fcgi.

Cuestiones relacionadas