Einfacher http Server in c++
-
Hi! Bin neu hier und auch neu in c/c++.
Ich muss einen einfache Client/Server applikation machen bei der ich über http ein Anfrage über einen Webbrowser (Firefox z.b) stelle und als Antwort eine Seite dynamisch generieren.
Für die Grundlagen habe ich die Sockets programmiert, damit kann ich schon über TCP/IP Datenaustauschen, nur weiß ich nicht weiter wie ich jetzt das mit dem http Protokoll machen soll. Was ich schon weiß ist das ich an Port 80 horchen lassen muss, aber die weitere Realisierung in c/c++, auch wenns wahrscheinlich einfach ist, blicke ich nicht.
Wäre nett von euch wenn ihr mir tipps bzw. beispiele nennen könntet!
-
Für mich liest es sich so als willst du einen einfachen HTTP Server bauen,
und zwar nur den Server Part.Folgende groben Schritte sind nötig.
- ListenSocket auf port 80 öffnen
- Auf anfragen pollen
- Wenn Anfrage da, parsen
- entsprechende Datei ausliefern, falls nötig server seitiges skript ausführen
...Viel spaß,
branleb
-
branleb schrieb:
Für mich liest es sich so als willst du einen einfachen HTTP Server bauen,
und zwar nur den Server Part.Welche Parts gibts noch?
-
Meinte: Er will keinen HTTP Client Schreiben, sondern einen vorhanden benutzen...
War schlecht geschrieben, sry
-
Wäre es nicht einfacher, du benutzt einen Standard-WebServer (wie z.B. den IIS oder Apache) und bindest dann deine Server-Applikation dann dort ein (mittels CGI o.ä.)??? Unter C++ könntest du dann z.B. dafür die Lib cgicc benutzen: http://www.gnu.org/software/cgicc/
Einen kompletten HTTP-Server selber zu implementieren, könnte doch etwas aufwändiger werden...
-
Ich würde erst mal anfangen, indem Du Dich auf eine Programmiersprache festlegst. C oder C++. Du hast es im Titel ja schon erwähnt, dass Du C++ verwenden willst. Warum schreibst Du dann im Text C/C++?
Wenn Du bereits über sockets Daten austauschen kannst, ist das schlimmste ja schon geschafft. Ansonsten liest Du Dich mal ein wenig in das rfc 2616 ein. Das ist nicht so schwer, wie es klingt.
Es kommt natürlich darauf an, was Du erreichen willst. Du sagst, du "musst". Wer zwingt Dich denn? Wenn Deine Aufgabe ist, dynamische Seiten in C++ zu schreiben, gibt es einfachere Lösungen, die ich Dir empfehlen würde. Wenn es eine Hausaufgabe ist, dann lernst Du halt http.
-
hi.Es ist sozusagen eine Hausarbeit.
Die Sache ist es soll kein Webserver wie Apache oder so sein, er muss nur auf Anfragen reagieren können und mit einer dynamscihen Seite antworten. Mein Dozent sagte dass wäre nicht schwer, wäre nur ein drei Zeiler, nur hat er mir nicht gesagt wie :).
-
zumindest das mit der Seite anzeigen lassen.