Problem beim c++ Server
-
hi,
es ist eigentlich einfach nur ich glaube ich habe heute ein black-out.Also wenn ich eine HTML datei zu nem client sende ist alles ok:
S.Send("HTTP/1.1 200 OK\n"); //alles ok S.Send("Content-Length:500\n"); //länge des Intaltes S.Send("Content-type:text/html\n\n"); // art des zu sendenden Zeugs S.Send("<html><head><title></title></head>\n"); S.Send("<body bgcolor=\"#E1E1E1\">\n"); S.Send("<img src= \"c:/bild1.jpg\" width=\"679\" height=\"92\">"); S.Send("</body></html>\n"); // der HTML code..
Das funkt auch einwandfrei!
Nun will ich das wenn der user http://ich-bin-kewl.de/bildchen.jpg eingibt Das Bild bekommt:
:S.Send("HTTP/1.1 200 OK\n"); //alles ok S.Send("Content-Length:10000\n"); //länge des Intaltes S.Send("Content-type:image/jpeg\n\n"); // art des zu sendenden Zeugs S.Send(//ja hier würde ich jetzt die Datei senden...);
Das Probmel ist ich bekomm nur dieses entzückende weise Kästchen mit dem roten X drin...
Wieso ist das so?!
Die datei im Bin modus zu öffnen hat auch keine Änderung erbracht...Könnte mir also jemand freundlicherweise mal sagen (Schritt für Schritt) wie ich es schaffe??
-
Dein Content-Length stimmt aber schon mit der Dateigröße des Bildes überein? Wie sendest du die Datei denn?
-
Original erstellt von flenders:
Dein Content-Length stimmt aber schon mit der Dateigröße des Bildes überein?Ja, ich denke mal schon...
Original erstellt von flenders:
Wie sendest du die Datei denn?Ich hoffe mal du meinst das hier:
long Sockets::Send(char SendBuf[]) { long sd; int SendBufLen = strlen(SendBuf); if (SendBufLen > MaxLen) return -1; sd = send(connectedSocket,SendBuf,SendBufLen,0); return sd; };
Wenn nicht dann sag mit bitte was du meintest.
-
S.Send(//ja hier würde ich jetzt die Datei senden...);
Ich wollte wissen, wie du die Datei sendest. Denn genau den Code, worauf es ja eigentlich ankommt hast du weggelassen