2009-11-21 7 views
12

Ich habe nur zwei FastCGI-Bibliotheken für C++ gefunden. Es gibt die "official" one und fastcgi++. Wie ist einer besser als der andere? Gibt es noch andere?FastCGI für C++

+2

Könnte ein paar gute Leads hier sein: http://StackOverflow.com/Questions/746309/which-is-the-best-c-Web-Framework –

+1

@AssafLavie, Nun, wie ist das verwandt. – Pacerier

+1

Ich habe vor kurzem [Cutelyst] (https://github.com/cutelyst/cutelyst) für C++/Qt gefunden, das FastCGI unterstützt. Eher einfach als von Grund auf neu zu schreiben auf der rohen FastCGI-Bibliothek :) – Grod

Antwort

6

Da fastcgi ++ immer noch als "Entwicklungsstatus: 4-Beta" aufgeführt ist, würde ich vorschlagen, für die offizielle zu gehen. Es existiert schon seit Ewigkeiten und hat Bindungen für eine ganze Reihe von Sprachen. Lizenzen zwischen den 2 scheinen nicht viel Unterschied zu machen. Nehmen Sie einige Messungen in Ihren Code vor und wenn die Leistung ein Problem ist, verbringen Sie einige Zeit damit, Alternativen auszuprobieren.

+3

Mehr als eine halbe Dekade ** bereits. Was ist das Update? – Pacerier

2

Die C-Version von FastCGI tut sehr wenig, und die Entwicklung in C++ ist nicht so ein großes Problem, da es kaum mit Ihrem eigenen Code interferiert. Es ist wahrscheinlich nur eine Schleife und eine Umgebungsvariable.

Also mein Rat wäre, nur mit der offiziellen Version zu bleiben.

Nur eines beachten: es funktioniert, indem es printf neu definiert! Also, wenn Sie cout verwenden, wird es nicht funktionieren.

4

Siehe auch die Cgicc Bibliothek:

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

Die Bibliothek erscheint reif zu sein (derzeit in der Version 3.x). Gemäß der Dokumentation kann es mit FastCGI verwendet werden, indem ein benutzerdefinierter Leser (reader_function_t) an den Konstruktor der Cgicc-Klasse übergeben wird.

8

Was Sie wahrscheinlich wollen, ist im Verzeichnis contrib des Cgicc-Pakets versteckt.

fcgi-test.cpp ist ein Beispiel für die Verwendung von Cgicc mit FastCGI.

Pfad zum installierten fcgi-test.cpp sein sollte /usr/share/doc/libcgicc-doc/examples/contrib/fcgi-test.cpp

6

Die offizielle Bibliothek ist eher niedrigem Niveau, und als solche ist nur nützlich, als ein Intermediate für eine High-Level-CGI-Bibliothek wie Cgicc.

Fastcgi ++ hingegen erlaubt die Verwendung von C++ - Idiomen im Umgang mit FastCGI. Unvollständigkeit in V1 hat mich dazu gebracht, es in Mosh-Fcgi zu verwandeln.

Vorteile: Meine Gabel entspricht jedem Punkt der Norm (insbesondere ROLE_FILTER) alles ausgiebig Templat ist, so dass es einfacher ist, willkürlich T für std :: basic_strings zu verwenden. Nachteile: Meine Änderungen sind im Alpha-Modus.

In jedem Fall, laden Sie den neuesten Zip von https://github.com/moshbear/mosh-fcgi.

Verwandte Themen