Ideen für einen Updater
Übersicht

SimfireBetreff: Ideen für einen Updater |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wollte für mein Programm einen Updater programmieren, was auch geklappt hat aber das Problem is ich bekomme nur txt dateien "gedownloadet".
Denn ich lese auf meinem Onlineserver die datei aus und erstelle aufm Pc eine neue Datei und schreibe das was ich Ausgelsen habe da rein und speichere es ab. Aber Bilder bzw exen funktionieren nicht mit der Technik. Was für einen Updater scheiße ist. ![]() Hat einer Vorschläge wie es funktioniert bzw wie man es besser löse könnte. ![]() |
||
Schnuff |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] function update(server$,datei$)
tcp=opentcpstream(server$,80) writeline tcp,"GET "+datei$+" HTTP/1.1" writeline tcp,chr(10) file=writefile("neue datei.exe") while not eof(tcp) rb=readbyte(tcp) writebyte file,rb wend end function eventuell musst du noch den header abschneiden, ich habe das prog nicht getestet, sollte aber den denkanstoss geben |
||
Programmers dont die. They gosub without return... |
SimfireBetreff: hmm |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
thx schonmal
naja ich bin noch en ziemlicher noob habre mal getstet bekomme s aber net gebacken vlt könntest es mir en bissel genaue erläutern ![]() |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke, dass du die Daten als Lines ausgelesen/abgespichert hast. So geht das nicht, da er dann immer bis zu einem "NeuZeilenZeichen" geht. Am besten ist es, die Datein Byteweise zu schreiben/lesen. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab das Thema rausgekramt, also mein Prog:
Code: [AUSKLAPPEN] host$=Input("Server/Hostname: ")
file$=Input("Datei eingeben: ") download(host$,file$) Print "Download gelungen - Taste drücken um das Programm zu beenden!" WaitKey() End Function download(server$,datei$) tcp=OpenTCPStream(server$,21) WriteLine tcp,"GET "+datei$+" HTTP/1.1" WriteLine tcp,Chr(10) file=WriteFile(datei$) While Not Eof(tcp) rb=ReadByte(tcp) WriteByte file,rb Wend End Function Was der mir zurückliefert, ist anstatt die Datei ein tolles: 220 Welcome. FTP Server ready. 500 GET not understood wobei ich denke, das der Befehl GET falsch ist^^ Dangö für die Antworten. |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
jeder HTTP-Server müsste get eigentlich verstehen ![]() Was hast du als Datei angegeben? Vlt liegts auch darran, dass du keinen host mitgeschickt hast. Halte ich aber eher für unwahrscheinlich. meine kleine Downloadroutine: Code: [AUSKLAPPEN] if downloadfile("/header/header.png", "www.blitzforum.de", "C:\header.png") print "erfolg" Else print "fehler"
delay 5000 Function downloadfile(url$, host$, ziel$) tcp = OpenTCPStream(host$,80) If Not tcp Return 0 WriteLine tcp, "GET " + url$ + " HTTP/1.0" WriteLine tcp, "host: " + host WriteLine tcp, "" Repeat z$ = ReadLine(tcp) If Left(z$,16) = "Content-Length: " size = Mid$(z$,17) Until ReadLine(tcp) = "" Or Eof(tcp) If Eof(tcp) Return 0 Fileout = WriteFile(ziel$) If Not size Repeat WriteByte fileout, ReadByte(tcp) Until Eof(tcp) Else bank = CreateBank(size) ReadBytes bank, tcp, 0, size WriteBytes bank, fileout, 0, size FreeBank bank End if CloseFile fileout CloseTCPStream tcp Return 1 End function |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Host: rrr2007.rr.funpic.de
Datei: Downloadtest.txt Liegt im "/" Verzeichnis... Zu deiner Downloadroutine wären comments schön, hab nur die hälfte verstanden, und bis jetzt noch keinen Fehler zu meinem gefunden...hmm...liegt es am FTP-Port? EDIT: Huahua...mitm Port 80 (http) sendet er mir das: Code: [AUSKLAPPEN] HTTP/1.1 400 Bad Request Date: Fri, 15 Jun 2007 21:04:57 GMT Server: Apache Content-Length: 226 Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> </p> </body></html> |
||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
D uwillst über FTP einen HTML download starten? | ||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Übern HTTP gehts auch nicht... | ||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] host$=Input("Server/Hostname: ")
file$=Input("Datei eingeben: ") download(host$,file$) Print "Download gelungen - Taste drücken um das Programm zu beenden!" WaitKey() End Function download(server$,datei$) tcp=OpenTCPStream(server$,21) WriteLine tcp,"GET "+datei$+" HTTP/1.1" Writeline "Host: "+server;<---------------------Daran liegts villeicht WriteLine tcp,Chr(10) file=WriteFile(datei$) While Not Eof(tcp) rb=ReadByte(tcp) WriteByte file,rb Wend End Function |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Joa du musst folgendes schicken:
Code: [AUSKLAPPEN] GET (datei) HTTP/1.0 host: (host) (leerzeile) Die datei muss als Relativer pfad, z.B. in der Form Code: [AUSKLAPPEN] /header/header.png
angegeben werden. (ich glaube da liegt auch dein fehler) hier eine abgespeckte und kommentierte version meiner Funktion, die wirklich nur die dinge enthält, welche für die HTTP-Übertragun relevant sind: Code: [AUSKLAPPEN] Function downloadfile(url$, host$, ziel$) ; tcp verbindung aufbauen tcp = OpenTCPStream(host$,80) If Not tcp Return 0 ;Function verlassen, wenn keine verbindung hergestellt werden kann ; GET-Anfrage schicken WriteLine tcp, "GET " + url$ + " HTTP/1.0" WriteLine tcp, "host: " + host WriteLine tcp, "" ; header überspringen Repeat z$ = ReadLine(tcp) Until ReadLine(tcp) = "" Or Eof(tcp) If Eof(tcp) Return 0 ;Funktion verlassen, wenn datei leer (meistens bei falschen anfragen bzw 404-fehlern) ; Datei auslesen Fileout = WriteFile(ziel$) Repeat WriteByte fileout, ReadByte(tcp) Until Eof(tcp) ; Streams freigeben CloseFile fileout CloseTCPStream tcp ; 1 zurückgeben (0 = fehlgeschlagen; 1 = erfolg) Return 1 End function |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
@FTC: Ne, kommt immernoch das gleiche. aber mitm Host mitschicken is ne gute Idee^^
Habs Mit HTTP und FTP ausprobiert...hmm |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du meine Funktion jetzt verstanden? | ||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sehr wohl, aber er gibt mir ;Funktion verlassen, wenn datei leer (meistens bei falschen anfragen bzw 404-fehlern) zurück^^ Vll. liegts an meinem Server? | ||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
probiers mal mit was anderem zb www.FS-COM.com und /index.html aus wenn das dann funzt liegts an deinem server | ||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Liegt an meinem Server...zweifelslos...mal schauen, ob ichs richten kann^^
EDIT: ahja danke vielmals =) |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich muss gestehen, ich bin auch gerade ein wenig verdutzt.
der Server schickt irgendwie nur den Header zurück, aber nicht den Inhalt oO auf anhieb kann ich da jetzt auch nicht sagen, ob es am Server oder Code liegt. Ich glaub aber mal eher am Code. Den schau ich mir morgen nochmal genauer an, wenn ich ausgeschlafen bin *gähn* Für heute geh ich erstmal ins bett ^^ gruß und gn8, Smily0412 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also die index.php konnte der mir unterschieben...hmm, vll. liegts am CHMOD. xD
cya und danke! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group