Problem beim Runterladen einer *.exe

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

FWeinb

ehemals "ich"

Betreff: Problem beim Runterladen einer *.exe

BeitragDi, Jan 02, 2007 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja also ich habe ein Problem das da währe das wenn ich eine *.exe
Runterladen möchte der die nciht kommplet läd sonder nur ein teil
Code: [AUSKLAPPEN]

tcp=OpenTCPStream("www.fe3.pytalhost.com",80) ;seite öffnen
If Not tcp Print "Fehlgeschlagen": WaitKey: End

WriteLine tcp,"GET http://www.fe3.pytalhost.com/SGS/up.exe HTTP/1.0"+Chr(10);Datei öffnen
WriteLine tcp,"Host: www.beeplog.de"+Chr(10);Seiten host festlegen

WriteLine tcp,Chr$(10)

If Eof(tcp) Print "Fehlgeschlagen.": WaitKey: End
Print "Anfrage gesendet! Warte auf Antwort..."

Repeat;Header überspringen
z$ = ReadLine$( tcp );
Until z$ = "";

dat=WriteFile("up.exe");Die datei schreiben (ich kann das auch noch so machen das der den namen der gleich ist wie der dei gedownlodet wurde)
timer=CreateTimer(100)
While Not Eof(tcp);Solange das ende nicth erreicht ist
WaitTimer timer
byte=ReadByte( tcp );lese den Byte
WriteByte Dat,byte;schreie den Byte
Print "Lädt..";schreibe Lädt
Wend


If Eof(tcp)=1 Then Print "Das Update war erfolgreich,":Print "bitte starten sie das Spiel erneut!" Else Print "Das Update ist Fehlgeschlagen!";ob der Stream nicht geschlossen wurde
CloseTCPStream tcp;wenn er durch ist dann schlißen
ExecFile("up.exe")
End



Danke im Voraus für hilfe
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

Smokie

BeitragDi, Jan 02, 2007 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast doch schonma so einen Thread aufgemacht... naja

Das is doch net schwer. Du sagst nur einen Teil ok.
Zitat:

Const max_download_bytes = 1000 ; so lädt er nur 1000 bytes (1kb) runter
tcp=OpenTCPStream("www.fe3.pytalhost.com",80) ;seite öffnen
If Not tcp Print "Fehlgeschlagen": WaitKey: End

WriteLine tcp,"GET http://www.fe3.pytalhost.com/SGS/up.exe HTTP/1.0"+Chr(10);Datei öffnen
WriteLine tcp,"Host: www.beeplog.de"+Chr(10);Seiten host festlegen

WriteLine tcp,Chr$(10)

If Eof(tcp) Print "Fehlgeschlagen.": WaitKey: End
Print "Anfrage gesendet! Warte auf Antwort..."

Repeat;Header überspringen
z$ = ReadLine$( tcp );
Until z$ = "";

dat=WriteFile("up.exe");Die datei schreiben (ich kann das auch noch so machen das der den namen der gleich ist wie der dei gedownlodet wurde)
timer=CreateTimer(100)
While ende=1;Solange das ende nicth erreicht ist
WaitTimer timer
byte=ReadByte( tcp );lese den Byte
WriteByte Dat,byte;schreie den Byte
Print "Lädt..";schreibe Lädt
readed_bytes = readed_bytes + 1
if readed_bytes = max_download_bytes or eof (tcp) then ende = 1

Wend


If Eof(tcp)=1 Then Print "Das Update war erfolgreich,":Print "bitte starten sie das Spiel erneut!" Else Print "Das Update ist Fehlgeschlagen!";ob der Stream nicht geschlossen wurde
CloseTCPStream tcp;wenn er durch ist dann schlißen
ExecFile("up.exe")
End


Das hätte man aber auch durch nachdenken lösen können. Natürlich gibt es noch ne andere Möglichkeit, aber ich hab's jetzt auf dein Programm bezogen geändert.

Grüße
Smokie

Edit: Achja, am Ende das Überprüfen musste dan anpassen, weil es net immer eof(tcp) is. Außerdem ist das unnötig, da ja die schleife wartet bis eof(tcp) da muss man das net nochma abfragen.

Edit2: Ich seh grad du hast diesen Post aus deinem Thread einfach kopier, sogar mit Rechtschreibfehler, nix gegen Fehler, aber das mit den Doppelpost scheint beliebt zu sein.
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet
 

FWeinb

ehemals "ich"

BeitragDi, Jan 02, 2007 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry Embarassed
in dem andern hatt keiner geatwortet also nochmal ich wolte mit
der frage nicht fragen wie ich nur ein teil der datei downloaden kann sonder das programm läde nur ein teil der exe datei runter und meine Frage ist wie ich das ändern kann also das er alles lädt
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

Smokie

BeitragDi, Jan 02, 2007 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei dem Satzbau kann man ja ma durscheinander kommen Rolling Eyes

Du kannst mein Beispiel dazu benutzen. Im Header, den du überspringst, steht die Dateigröße. Du musst also nur aus der Konstaten eine normale Variable machen und das max_download_bytes durch die im Headerstehende Größe ersetzen. Wie der Header eintrag heißt weiß ich net auswendig, aber du kannst es ja herausfinden, indemdu den Headerkram, den du überspringst im Debugger anzeigen lässt.

Grüße
Smokie
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer.
Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört
Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet
 

FWeinb

ehemals "ich"

BeitragMi, Jan 03, 2007 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
ich kappiere das nicht habe jetzt alles versucht abre es geht nicht kann mir jemand halfen ich kann das nicht Bitte
DANke im Voraus
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs
 

snörkl

BeitragMi, Jan 03, 2007 17:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ich denke smokie meint dass du oben wos im code fett ist statt den tausend kilobyte einfach die größe der datei eingibst. Oder anders angefangen;

dein Update ist 3,4 mb groß. Also trägst du oben 3400 beim fettgedruckten ein, so lädt er das komplette update. Das problem ist nur, wenn du noch ein update rausbringst, welches dann sagen wir 4,6 mb groß ist er wieder nur einen teil lädt, nämlich 3,4 mb, da das ja im code angegeben ist (das er nur 3,4 mb laden soll, was ja früher das ganze update war^^). Hoffe du hast einigermaßen verstanden was ich damitm meine.

Richtig weiterhelfen kann ich dir leider nicht, außer dir den sinn (hoffe dass ich ihn richtig erfasst habe) erkläre. Hab mich noch nicht wirklich mit dem internet u. bb befasst, deswegen kann ich dir das leider net so helfen.

mfg
Snörkl
 

FWeinb

ehemals "ich"

BeitragMi, Jan 03, 2007 17:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Snökel aber das habe ich ja verstanden aber wenn ich das die Größe eintrage dann macht der das troßdem nicht komplett.
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

BladeRunner

Moderator

BeitragMi, Jan 03, 2007 17:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Fühl dich mündlich verwarnt, ich.
Solltest Du nochmal rein zum Pushen einen neuen Thread eröffnen (was ja noch frecher ist als im schon bestehenden Thread einen Doppelpost zu machen) oder sonst einen DoppelPost verbrechen wird daraus eine offizielle.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

FWeinb

ehemals "ich"

BeitragMi, Jan 03, 2007 19:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry ich wolte es nur wissen Embarassed Crying or Very sad

Tut mir leid wirklich ich mach das nicht weider.


PS: Kann mir bitte bitte bitte einer helfen Bitte


Danke im Voraus
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

FreetimeCoder

BeitragMo, Feb 05, 2007 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
For a=0 To 100
      tmp$=ReadLine(stream)
      Print Tmp
      If Instr(Lower$(tmp), "content-length")>0 Then
         MaxSize=Int(Right(Tmp,Len(Tmp)-Len("content-length: ")))
      EndIf
      If Instr(Lower$(tmp), "content-type")>0 Then ReadLine(stream) : Exit
   Next


Mit dem Code kannst du die Dateigröße aus dem Header lesen.
MaxSize/1024.0 gibt dann KB an.
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group