jochen voggel: Windows Exe Datei herunterladen

Hallo,

ich bin gerade dabei einen Updater zu coden, bin dabei aber auf eine Problem gestossen.

Nämlich als ich versucht habe ein paar binäre Dateien herunterzuladen.

Was muss man da anders machen als bei Textdateien?

Das Ganze funktioniert über TCP/IP,WinSocket und HTTP.

Würde mich sehr über eine Antwort freuen.

  1. Hallo!

    ich bin gerade dabei einen Updater zu coden, bin dabei aber auf eine Problem gestossen.

    Deine Beschreibung ist recht dürftig. Was heißt "coden"? Programmiersprache, welches Problem genau tritt auf?

    mfg
      frafu

  2. Moin!

    Nämlich als ich versucht habe ein paar binäre Dateien herunterzuladen.

    Was muss man da anders machen als bei Textdateien?

    Das Ganze funktioniert über TCP/IP,WinSocket und HTTP.

    Auch ohne die Angabe von WinSock hätte ich sofort auf Windows getippt, weil es nur dort die Unterscheidung zwischen Binär- und Textdateien gibt: Beim Lesen und Schreiben von Textdateien bleibt das Newline-Zeichen '\n' nicht erhalten bzw. WinDOS macht daraus "\x0D\x0A". Während es bei Textdateien (relativ) gleichgültig ist, wie das Newline-Zeichen aussieht, ist dies bei Binärdateien wichtig. Dein Problem wird also sehr wahrscheinlich damit zusammenhängen, dass du die Dateien im Text- und nicht im Binärmodus öffnest.

    HTH,
    Robert

    1. Hallo,

      Auch ohne die Angabe von WinSock hätte ich sofort auf Windows getippt, weil es nur dort die Unterscheidung zwischen Binär- und Textdateien gibt: [...] Dein Problem wird also sehr wahrscheinlich damit zusammenhängen, dass du die Dateien im Text- und nicht im Binärmodus öffnest.

      mir wäre neu, dass es diese Unterscheidung auf Socket-Ebene auch noch gibt. Soweit ich weiß, stellt das winsock-API keine Funktion fsockopen() zur Verfügung, die quasi auf der Abstraktionsebene der Dateifunktionen arbeitet. Meines Wissens kennt winsock ausschließlich binäre Übertragung, ohne die übertragenen Daten zu verändern.

      So long,
       Martin

      --
      Most experts agree: Any feature of a program that you can't turn off if you want to, is a bug.
      Except with Microsoft, where it is just the other way round.
      1. Moin!

        mir wäre neu, dass es diese Unterscheidung auf Socket-Ebene auch noch gibt. Soweit ich weiß, stellt das winsock-API keine Funktion fsockopen() zur Verfügung, die quasi auf der Abstraktionsebene der Dateifunktionen arbeitet. Meines Wissens kennt winsock ausschließlich binäre Übertragung, ohne die übertragenen Daten zu verändern.

        Aber die binären Daten müssen doch irgendwo her kommen, d.h. ich vermute, dass das Problem nicht beim Übertragen, sondern vorher beim Lesen der Datei auftritt (oder abschließend beim Schreiben – ich weiß nicht genau, wann WinDOS mit den Zeilenumbrüchen Schindluder betreibt).

        Viele Grüße,
        Robert