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 😕


Anmelden zum Antworten