Windows Exe Datei herunterladen
jochen voggel
- programmiertechnik
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.
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
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
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
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