ganz einfacher datei-download



  • Hallo,
    ich connecte per sockets mit einem c++ proggi auf meinem 2. rechner zu zu meinem ersten.
    als protokol nutze ich tcp.

    wie kann ich einen datei download machen.
    also ich will, dass wenn ich meinem zweiten Rechner zb.:
    downl "C:\uploads\hello.exe", "C:\downloads\hello.exe"
    schicke er diese hello.exe aus meinem uploads ordner in den downloads ordner meines 2. rechners runterläd.

    also es geht hier nur um den download selbst.
    befehle schicken usw. kann ich schon.

    mfg füsig



  • Ich versteh dein Problem nicht ganz...

    Daten kannst du doch schon verschicken, oder?
    Wie du ne liest bzw. schreibst, weiß du auch?
    Du mußt halt nur nen Protokoll definieren wie
    Länge des Dateinamen, Dateiname, Länge der Daten, Daten



  • ups...

    Sollte

    Wie du ne Datei liest bzw. schreibst, weiß du auch?

    heißen



  • soll ich einfach inhalt grösse usw. in variablen packen und das dann schicken?



  • Hallo

    grob gesagt : ja

    bis bald
    akari



  • ok danke,

    dann brauche ich ne funktion, mit der man die Größe rausfindet und eine mit der man die Endung herausfindet.

    mfg füsig



  • Hallo

    Mir kommt es vor, als ob du nicht wirklich weißt was wie zu tun ist.
    Da du den Inhalt einer Datei versenden willst, must du diese Datei auf jedenfall öffnen. Dazu kannst du std::ifstream nehmen, und damit bekommst du auch die Größe der Datei raus (Siehe die Methode seek).
    Und die Extension must du beim öffnen der Datei angeben, also liegt die schon in Stringform vor. Dann kannst du mit den Methoden der String-Klasse arbeiten (find, substr)

    bis bald
    akari



  • komisch, dass es für die endung kene funktion gibt.
    naja egal ich hab mir ne exploit funktion geschrieben.
    damit geht so leicht wie beim schönen php. 😉

    ich über legt grad ich hab dass ganze syncron laufen.

    und da wäre so etw, wie ne %-anzeige des downloads nicht mögl. oder?

    mfg füsig



  • Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo

    selbstverständlich ist auch eine Fortschrittsanzeige möglich. Sende die Daten aufgeteilt in festen Blöcken (zum Beispiel 1024 Byte), so das innerhalb der dann nötigen Schleife nach jedem einzelnem Block eine Berechnung und Ausgabe des Fortschritts gemacht werden kann.

    bis bald
    akari


Anmelden zum Antworten