bernddasbrot2
Goto Top

HTTP-Server erstellen

Hi,

ich brauch schon wieder mal eure Hilfe.

Mir war 'n bisschen langweilig, also hab ich mir entschlossen, nen eigenen HTTP-Server zu erstellen. Ich hab die Sockets erstellt und kann auch Strings etc. übertragen, aber was muss ich machen, dass der Browser die übertragenen Daten auch als HTML-Seite erkennt? Ich kann zwar an meinem Server sehen, dass eine Verbindung besteht, wenn ich versuche vom IE auf meine eigene Adresse zuzugreifen, aber im Browser kommt immer, die Seite kann nicht angezeigt werden. Kann ich irgendwie, eine fertige HTML-Datei versenden, oder muss ich die wirklich immer mit dem C++-Programm einlesen und dann als String versenden?

Vielleicht kennt ja auch jemand von euch ein Tutorial, das beschreibt, wie man einen HTTP-Server mit C/C++ erstellt?

Danke
Bernd das Brot

Content-Key: 34152

Url: https://administrator.de/contentid/34152

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: 11078
11078 13.06.2006 um 19:45:23 Uhr
Goto Top
Hallo,

nicht dass ich jetzt alle Kenntnisse hätte, um einen HTTP-Server selbst zu programmieren, aber was ich weiß: Der muss mehr können, als auf Port 80 auf Anfragen zu horchen.

Der Browser stellt eine HTTP-Anfrage und erwartet, dass der Server gemäß dem HTTP-Protokoll antwortet. Es reicht nicht, wenn er einen String oder eine HTML-Seite einfach zurückschickt, es müssen auch die richtigen HTTP-Header, etc. mitgeschickt werden.

Du wirst also nicht darum herumkommen, Deinem Server beizubringen, wie man "HTTP" spricht. Ich bin jetzt nicht der C++-Experte, aber es gibt für so viele Programmiersprachen HTTP-Umsetzungen/Module, die einen sehr einfachen Zugriff auf HTTP ermöglichen, ohne dass man selbst wirklich jeden Teil der Kommunikation selbst programmieren muss. Vielleicht suchst Du mal nach was passendem.

Ansonsten, viel Spass beim lesen der RFCs face-smile

http://www.faqs.org/rfcs/rfc1945.html
ftp://ftp.isi.edu/in-notes/rfc2616.txt


Gruß,
Tim
Mitglied: mzeu
mzeu 23.06.2006 um 12:02:44 Uhr
Goto Top
Hallo, ich habe hier einen kleinen webserver auf einem embedded system laufen, der ein paar kleine html seiten übertragen kann. Mein Problem ist : wie überträgt man große html seiten korrekt in mehreren paketen ? Habe "das ganze Netz" ( face-smile ) durchsucht und diese Information nirgends gefunden (scheint zu einfach zu sein) Alle Versuche sind bis jetzt fehlgeschlagen.
Ich hätte auch einen neuen Thread dafür eröffnet aber der Sch... funktioniert irgendwie nicht. face-sad
Gruß
Matthias
Mitglied: mzeu
mzeu 28.06.2006 um 13:46:42 Uhr
Goto Top
ok, man muß einfach mehrere Pakete mit dem geteilten html Inhalt senden. Das habe ich auch schon vorher auf mehrere Arten versucht, leider scheint es ein Problem bei der Kommunikation zwischen server und browser zu geben. Während es sonst in dieser Richtung keine Probleme gibt bekomme ich die Fehlermeldung "tcp: incorrect Acknum" dort wird die Länge des falschen Pakets als Grundlage für die ack nummern Berechnung verwendet, keine Ahnung warum. Der html Inhalt wird auch nicht mit angezeigt nur die Daten des ersten Pakets werden im Browser angezeigt. Hat jemand ein Idee oder besser Erfahrung warum das schief läuft ?
danke,
Gruß
Matthias