Anzeige:
Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 15 von 60

Thema: (HTTP) Server mit Qt4

  1. #1
    Registrierter Benutzer Avatar von TheDodger
    Registriert seit
    18.05.2001
    Ort
    Hamburg
    Beiträge
    615

    (HTTP) Server mit Qt4

    Moin Moin!

    Nach Jahren tauche ich mal wieder aus der Versenkung auf.
    Es gab bisher einige wichtige Verwerfungen bei den Prioritäten ...
    Aber nun hab ich wieder ein wenig mehr Zeit für meine Dinge.

    Ich habe hier eine (selbstgeschriebene) WebApplication, welche mir zwar die Dienste leistet, die ich benötigte, die aber mittlerweile am der oberen Leistungsgrenze angekommen ist.

    Da ich aktuell für ein neues Projekt plane und das eigentlich weiter nutzen möchte, aber das ganze mal von einer anderen Seite aus betrachten möchte, wollte ich einen (HTTP) Server unter Qt4 bauen. (Plumb ausgedrückt, ich will meine PHP-Anwendung nach Qt4/C++ konvertieren).
    Vor allem um deutlich bessere Geschwindigkeiten zu erreichen.
    Das ganze soll relative simple gestrickt sein.
    Ich bin mir allerdings noch nicht ganz klar, wie das aufgebaut werden müsste ..
    Prinzipiell möchte ich einen Daemon/Server. Der soll - ähnlich einem Apachen - Requests entgegen nehmen, die abarbeiten und ein HTML Dokument ausliefern.
    Dazu sollen die DB-Verbindungen persistent sein, Cookies/Sessions verarbeiten, etc.

    Das ist der grobe Plan ...
    Ich konnte nach einer Woche Recherche, bis auf rudimentäre Democodes, nicht wirklich was finden.

    Vielleicht hat ja jemand von euch eine Idee, die mit weiter helfen kann?


    Gruß aus Hamburg,
    Bodo

    PS: Ja, ich könnte einen Tomcat und Java nehmen, aber Java war, ist & bleibt (mir ein persöhnlicher) Graus.
    Bodo
    Systemadmistration UNIX

  2. #2
    Registrierter Benutzer
    Registriert seit
    18.04.2008
    Beiträge
    59
    das hört sich interessant an.

    Habe auch schon mal an so etwas gedacht, am Ende habe ich aber bisher nur mal eine Seite (Frontend) mit Datenbankabfragen in C als cgi mit apache umgesetzt.
    Updaten der Datenbank mit Userverwaltung ist dann noch in php - wobei das Projekt noch nicht im produktiven Betrieb ist.

    Flexibler als im C Code HTML zu generieren ist man mit einer Template Engine, wie clearsilver (wenn c++, ggf. moustache (https://github.com/mrtazz/plustache )).

    Für mich ist PHP die Template Engine und man kann auch PHP Code generieren und das generierte HTML wiederrum auch cachen.

    Eigener Webserver macht für mich eigentlich nur für bestimmte Zwecke Sinn, z.B: "deployen" um eine native Applikation mit HTTP zu erstellen, nur für Grafiken oder ide mit Debugger.

    Warum nicht ein robuster, leichtgewichtiger Webserver mit FastCGI für eine Webapplikation?

    Kann auch viel Performancegewinn einbringen ( http://marianoiglesias.com.ar/c/new-...web-framework/ ).

  3. #3
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Sorry wenn das jetzt so hart rüberkommt -- Forgot it !
    Aber das wird mit qt4 nie richtig funktionieren weil die Dinge die Interessant währen einen laufenden X-Server benötigen. (das habe ich schon hinter mir )
    Es gibt aber eine andere Variante die ich selbst auch Verfolge und das ist "x-qt-plugin". Du findest Beispiele auf der Testseite von xhtmldbg
    Geändert von undefined (13-12-2010 um 15:35 Uhr)
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  4. #4
    Registrierter Benutzer Avatar von TheDodger
    Registriert seit
    18.05.2001
    Ort
    Hamburg
    Beiträge
    615
    Zitat Zitat von undefined Beitrag anzeigen
    Sorry wenn das jetzt so hart rüberkommt -- Forgot it !
    Aber das wird mit qt4 nie richtig funktionieren weil die Dinge die Interessant währen einen laufenden X-Server benötigen. (das habe ich schon hinter mir )
    Also ich kann - ohne die div. Abhängigkeiten von X - eine reine Consolen-Anwendung mit Qt4 (nicht 3) schreiben.
    Und die 4er Version bietet schon sehr schicke Klassen um den ganzen Netzwerkkram zu kapseln und nicht neu zu machen.
    Zitat Zitat von undefined Beitrag anzeigen
    Es gibt aber eine andere Variante die ich selbst auch Verfolge und das ist "x-qt-plugin". Du findest Beispiele auf der Testseite von xhtmldbg
    Danke, kann ich mir ja auch mal anschauen.
    Bodo
    Systemadmistration UNIX

  5. #5
    Registrierter Benutzer Avatar von TheDodger
    Registriert seit
    18.05.2001
    Ort
    Hamburg
    Beiträge
    615
    Zitat Zitat von zenobic Beitrag anzeigen
    das hört sich interessant an.

    Habe auch schon mal an so etwas gedacht, am Ende habe ich aber bisher nur mal eine Seite (Frontend) mit Datenbankabfragen in C als cgi mit apache umgesetzt.
    Updaten der Datenbank mit Userverwaltung ist dann noch in php - wobei das Projekt noch nicht im produktiven Betrieb ist.

    Flexibler als im C Code HTML zu generieren ist man mit einer Template Engine, wie clearsilver (wenn c++, ggf. moustache (https://github.com/mrtazz/plustache )).
    Wenn dann kommt so oder so eine Template-Engine zum Einsatz. Ich bin ein Fan der Trennung von Logik & Design ...
    Aber das geraffel um das Caching, Session, Cookies, Requestbehandlung und/oder einzelnen Modulen würde ich gern darüber abwickeln.

    Zitat Zitat von zenobic Beitrag anzeigen
    Für mich ist PHP die Template Engine und man kann auch PHP Code generieren und das generierte HTML wiederrum auch cachen.
    PHP ist für *mich* primär eine Programmiersprache & eine PHP-Klasse eine Template-Engine.
    bash kann AFAIK auch PHP & HTML erstellen und zur Not auch was cachen ...

    PHP stösst in meinem Fall an seine Grenzen, weshalb ich versuche das anders zu machen.
    Lernen & Spaß haben gehört aber auch dazu ...
    Zitat Zitat von zenobic Beitrag anzeigen
    Eigener Webserver macht für mich eigentlich nur für bestimmte Zwecke Sinn, z.B: "deployen" um eine native Applikation mit HTTP zu erstellen, nur für Grafiken oder ide mit Debugger.

    Warum nicht ein robuster, leichtgewichtiger Webserver mit FastCGI für eine Webapplikation?

    Kann auch viel Performancegewinn einbringen ( http://marianoiglesias.com.ar/c/new-...web-framework/ ).
    Ich hab mal nach dem clapp-Zeuch gesucht, aber zum Download scheint es nix zu geben. Von daher, kann ich es halt nicht bewerten ...

    Vielleicht ist WebServer auch nicht ganz Typensicher von mir definiert ... es würde wohl eine Mischung zwischen WebServer & ApplicationServer sein ...

    Mehrere davon parallel laufend auf unterschiedlichen Ports lauschend und von vorn vom Apachen/nginx befeuert.
    Geändert von TheDodger (13-12-2010 um 16:23 Uhr)
    Bodo
    Systemadmistration UNIX

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von undefined Beitrag anzeigen
    Sorry wenn das jetzt so hart rüberkommt -- Forgot it !
    Aber das wird mit qt4 nie richtig funktionieren weil die Dinge die Interessant währen einen laufenden X-Server benötigen. (das habe ich schon hinter mir )
    Das kann ich mir jetzt schwer vorstellen, hast du vielleicht ein Beispiel zu Hand?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Registrierter Benutzer Avatar von TheDodger
    Registriert seit
    18.05.2001
    Ort
    Hamburg
    Beiträge
    615
    Zitat Zitat von TheDodger Beitrag anzeigen
    Moin Moin!
    Da ich aktuell für ein neues Projekt plane und das eigentlich weiter nutzen möchte, aber das ganze mal von einer anderen Seite aus betrachten möchte, wollte ich einen (HTTP) Server unter Qt4 bauen. (Plumb ausgedrückt, ich will meine PHP-Anwendung nach Qt4/C++ konvertieren).
    Vor allem um deutlich bessere Geschwindigkeiten zu erreichen.
    Das ganze soll relative simple gestrickt sein.
    Ich bin mir allerdings noch nicht ganz klar, wie das aufgebaut werden müsste ..
    Prinzipiell möchte ich einen Daemon/Server. Der soll - ähnlich einem Apachen - Requests entgegen nehmen, die abarbeiten und ein HTML Dokument ausliefern.
    Dazu sollen die DB-Verbindungen persistent sein, Cookies/Sessions verarbeiten, etc.
    Das einzige, was ich zu dem Thema finden konnte ist das hier: qt-apps :: HTTP Server

    Ich muß mir das aber erstmal zur Brust nehmen und schauen, ob das auch wirklich hilfreich für mich ist ...

    Andere Vorschläge / Ideen sind noch immer gern gesehen
    Geändert von TheDodger (14-12-2010 um 09:16 Uhr)
    Bodo
    Systemadmistration UNIX

  8. #8
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Zitat Zitat von anda_skoa Beitrag anzeigen
    Das kann ich mir jetzt schwer vorstellen, hast du vielleicht ein Beispiel zu Hand?

    Ciao,
    _
    Beispiele habe ich keine mehr. Die habe ich irgendwann mal gelöscht.
    Ich habe mal versucht mit Qt4 eine CGI basierte Webanwendung zu schreiben. Also mit QtCore, QtXml, xslt und cgi++. Ich war mehr damit beschäftigt, was kann ich nehmen als sonst was. Habe mich dann für die cxxtools entschieden.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  9. #9
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    deine bisherige webanwendung optimieren wäre die andere alternative:

    hier paar beispiele
    - reverse proxy (evtl. edge side include)
    - php accelerator
    - mehr caching (zB auch memcache)

  10. #10
    Registrierter Benutzer Avatar von TheDodger
    Registriert seit
    18.05.2001
    Ort
    Hamburg
    Beiträge
    615
    Zitat Zitat von msi Beitrag anzeigen
    deine bisherige webanwendung optimieren wäre die andere alternative:

    hier paar beispiele
    - reverse proxy (evtl. edge side include)
    - php accelerator
    - mehr caching (zB auch memcache)
    3x DONE
    Die Anwendung wird seit ~3 Jahren aktiv entwickelt und dient mir als Spielwiese für eben diese Techniken.

    Und sie ist aktuell nicht so skalierbar, wie ich sie für das neue Projekt benötige.
    Bodo
    Systemadmistration UNIX

  11. #11
    Registrierter Benutzer
    Registriert seit
    18.04.2008
    Beiträge
    59
    Sind die beschrieben Skalierbarkeitsgrenzen mit PHP, Performanceprobleme?
    Hast du facebooks HipHop schon ausprobiert?
    HipHop soll laut Benchmarks von Rasmus einiges bringen ( http://about.digg.com/blog/rasmus-le...hp-performance / http://talks.php.net/show/digg/20
    ).

    nodejs ist vielleicht noch interessant (beispielsweise falls "Comet" eine Anforderung ist).

    WT und CppCMS sind bekannte Frameworks für C++, hat damit schon jemand Erfahrungen gesammelt?

  12. #12
    Registrierter Benutzer Avatar von TheDodger
    Registriert seit
    18.05.2001
    Ort
    Hamburg
    Beiträge
    615
    Zitat Zitat von zenobic Beitrag anzeigen
    Sind die beschrieben Skalierbarkeitsgrenzen mit PHP, Performanceprobleme?
    Hast du facebooks HipHop schon ausprobiert?
    HipHop soll laut Benchmarks von Rasmus einiges bringen
    HipHop scheint interessant zu sein, wenn das Stück Software an einem Stück vorliegt.
    Ist leider bei mir nicht der Fall.
    Zitat Zitat von zenobic Beitrag anzeigen
    WT und CppCMS sind bekannte Frameworks für C++, hat damit schon jemand Erfahrungen gesammelt?
    WT hab ich angeschaut. Schon allein deshalb, weil es sich stark an Qt orientiert. Allerdings baut das wohl nur CGIs und ich habe es noch nicht mal geschafft (in vertretbarer Zeit) das 'Hello World' in den Browser zu zaubern.


    Aber egal und um es noch einmal auf den Punkt zu bringen.
    Ich möchte kein PHP mehr!

    Aktuell versuche ich meine guten alten Qt3 Kenntnisse auf den aktuellen Stand zu bringen um mal wieder was mit C++ zusammen zu bauen (Mein letztes C++ Projekt scheint aus 2006 zu sein ... ich hab da noch Kommentare von/über anda_skoa drin )
    Bodo
    Systemadmistration UNIX

  13. #13
    Registrierter Benutzer Avatar von TheDodger
    Registriert seit
    18.05.2001
    Ort
    Hamburg
    Beiträge
    615

    Stand der Dinge ...

    Zitat Zitat von TheDodger Beitrag anzeigen
    Moin Moin!
    Prinzipiell möchte ich einen Daemon/Server. Der soll - ähnlich einem Apachen - Requests entgegen nehmen, die abarbeiten und ein HTML Dokument ausliefern.
    Dazu sollen die DB-Verbindungen persistent sein, Cookies/Sessions verarbeiten, etc.
    Sooo ... ich habe ein kleines Proof-of-Concept am Start.
    Ein Programm, welches einen TCP-Port aufreist und dort anfragen entgegen nimmt.
    Eine simple GET-Anfrage funktioniert auch.

    Jetzt brauche ich nur noch Session, Cookies & POST ... *seufts*
    Bodo
    Systemadmistration UNIX

  14. #14
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von undefined Beitrag anzeigen
    Beispiele habe ich keine mehr. Die habe ich irgendwann mal gelöscht.
    Mit Beispiel meinte ich eher weniger Beispielcode, viel mehr welche Aufgaben bzw. welche für deren Lösung verwendeter Klassen eine X Server Verbindung nötig gemacht haben.

    Ähnlich wie andere hab ich schonmit Qt3 sehr erfolgreich Server- bzw. Konsolenanwendungen gemacht, also "headless" (ohne X11 Connection).

    Mit Qt4 ist das noch leichter, QtCore/Network/usw linken nicht mal gegen libx11.

    Insofern wäre es eben hilfreich zu wissen, auf welche interessanten Dinge du Bezug nimmst, für deren Umsetzung man eine GUI Resourcen benötigen würde.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  15. #15
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von TheDodger Beitrag anzeigen
    Jetzt brauche ich nur noch Session, Cookies & POST ... *seufts*
    Falls du noch nach einer Qt basierten Templateengine suchst, vielleicht wäre Grantlee das was für dich: http://www.gitorious.org/grantlee/pages/Home

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •