Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Mark7788

Anmeldungsdatum: 21.01.2006 Beiträge: 77 Wohnort: Frankfurt Freebasic
|
Verfasst am: 23.03.2006, 15:28 Titel: Update Funktion |
|
|
Hi!
Folgende frage. Ich möchte in meine spiele/programme eine update funktion reinbauen. das er dann auf angegebener serveradresse wo die spiele dateien und programmdateien abfragt ob es eine neue version gibt und dann entweder sagt "Ihre version ist aktuell" oder "Eine neue version ist verfügbar" zb;-). Wie funktioniert sowas? gibt es einen code dafür?
Danke schonmal!
Mfg
markus  _________________ www.DasMillionenQuiz.de.vu ; www.Mkse.de.vu |
|
Nach oben |
|
 |
ChemicalWarfare

Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 23.03.2006, 15:33 Titel: |
|
|
dafür gibt es 2 möglichkeiten: entweder speicherst du im programm, welche version das ist und vergleichst sie mit aktuellen versionsnummer aufm server. oder du berechnest von jeder datei nen hash (z.b. md5) und vergleichst jeden hash mit dem aufm server gespeicherten hash (die bessere möglichkeit, denn so können beschädigte/gelöschte dateien erkannt und ausgetauscht/erneuert werden). _________________ Er ist ein Wunder!
Nein, er ist eine Missgeburt. |
|
Nach oben |
|
 |
Mark7788

Anmeldungsdatum: 21.01.2006 Beiträge: 77 Wohnort: Frankfurt Freebasic
|
Verfasst am: 23.03.2006, 15:41 Titel: |
|
|
Vielen dank!
und wie sieht das genau mit der html abfrage aus? (bin da noch noob und habe da nicht viel ahnung) und der hash wert .. das ist ja ein wert tu ich den iregndwo reinprogrammieren? wenn ja wo?
edit: ich würde das ganze am liebsten seperat haben (als online client.exe) den man einfach startet, der dann abfragt ob es updates gibt und gegebenfalls dann die dateien direkt ins hauptverzeichnis des zu aktualisierenden programmes kopiert.
Mfg
markus  _________________ www.DasMillionenQuiz.de.vu ; www.Mkse.de.vu |
|
Nach oben |
|
 |
ChemicalWarfare

Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 23.03.2006, 16:14 Titel: |
|
|
was für eine html abfrage?
den md5 berechnest du jedes mal neu, wenn du die client.exe startest.
hier ein pseudocode:
Code: |
hole_filelist_und_hashes_vom_server()
für jede_datei_in_der_filelist:
öffne_datei()
berechne_hash_von_der_datei()
wenn berechneter_hash <> server_hash:
lade_die_datei_vom_sever()
|
_________________ Er ist ein Wunder!
Nein, er ist eine Missgeburt. |
|
Nach oben |
|
 |
Mark7788

Anmeldungsdatum: 21.01.2006 Beiträge: 77 Wohnort: Frankfurt Freebasic
|
Verfasst am: 23.03.2006, 18:56 Titel: |
|
|
Hallo!
Danke! ich habe jetzt aufgrund meiner NUR anfängerkenntnisse von freebasic folgendes getan:
Ich habe eine datei erstellt (im programmverzeichnis) "filelist.txt" und eine datei die auf den server kommen soll "filelist.txt" in den dateien steht im moment jewals die zahl 1 ... dann fragt das programm ab : ist "filelist.txt = filelist.txt" ? .. wenn ja ist kein update verfügbar und wenn das nicht das glecihe ist ist ein update verfügbar. Leider habe ich keine ahnung wie ich es anstellen soll das er die datei auf dem server runterläd, und in ein unterverzeichnis kopiert um sie dann zu vergleichen und darauf vllt wieder löscht wenn möglich (die servertextdatei). kann mir da jemand helfen?
wäre sehr dankbar!
Mfg
markus  _________________ www.DasMillionenQuiz.de.vu ; www.Mkse.de.vu |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 23.03.2006, 19:19 Titel: |
|
|
Zu diesem Thema gab es vorkurzem eine Diskussion im QBasic Forum:
http://forum.qbasic.at/viewtopic.php?t=2259
Einige Ideen liesen sich sicher übernehmen.
So zum beispiel die Idee mit dem FTP Server. |
|
Nach oben |
|
 |
Mark7788

Anmeldungsdatum: 21.01.2006 Beiträge: 77 Wohnort: Frankfurt Freebasic
|
Verfasst am: 23.03.2006, 19:33 Titel: |
|
|
Hi
Hilft mir leider nicht so weiter;-)
Will eigentlich nur das er vom link: "mkse.freebasic.de/DasMillionenQuiz/MillionenQuizFilelist.txt" die datei runterläd und ohne zu fragen sagen wir mal zb .. unter C:/Programme/DasMillionenquiz kopiert.
dann kommt in meinem programm der vergleich der 2 dateien. dann wird entweder die soeben runtergeladene datei gelöscht : "Sorry kein update verfügbar". oder der öffnet das browserfenster (habe ich schon hingekriegt) das man sich dann auf einer bestimmten seite die neuste version runterladen kann. das problem ist im moment nur das holen der datei "millionenquizfilelist.txt" von oben angegebener adresse, und das kopieren in ein verzeichnis. Habe es im moment nur so hingekriegt das er die datei "millionenquizfilelist.txt" runterläd aber dann zum download auffordert und man muss die datei selbst wo speichern (normaler download) aber das will ich ja nicht;-)
Aber danke für den link! vllt kann mir ja einer noch ein bisschen mehr klarheit verschaffen^^ bin ja noch anfänger
Mfg
markus  _________________ www.DasMillionenQuiz.de.vu ; www.Mkse.de.vu |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 23.03.2006, 19:48 Titel: |
|
|
sacht ma leute wie stellt ihr euch das eigentlich immer vor? HTTP ist ein ganzes Protokoll, es gibt keine funktion runterlad("server.de/datei.dat") oder sowas, dafür muss man ne menge machen was man als anfänger einfach nicht kann. auch wenn das adresse im browser eingeben verdammt einfach ist, sowas zu programmieren ist deutlich schwieriger. Des weiteren brauch mMn auch nicht jedes kleine gammelgame ne Updatefunktion oder Online Highscores.. (soll jetz nich heißen, dass du müll programmierst..) warum sind diese nervigen teile denn bitte so in mode? Ich würde bei nem kleinen programm von irgendwelchen hobbyprogrammierern bei meiner firewall eh auf verweigern tippen worauf hin das programm wahrscheinlich in nicht definierbaren fehlern versinken würde weil wer auch immer es programmiert hat sich mit "runterladen" nicht richtig auskennt und dementsprechend auch keine fehlerbehandlung einbauen konnte (oder es auch so einfach nich gemacht hat).. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
max06

Anmeldungsdatum: 05.12.2004 Beiträge: 390 Wohnort: Augsburg
|
Verfasst am: 24.03.2006, 14:12 Titel: Ganz einfach :-) |
|
|
Ich hätte dir eine ganz einfache Lösung anzubieten
Kennst du das Konsolenprog ftp? Ist bei jedem Windows und Linux dabei...
Du musst eine ftp.txt erstellen, in der die ganzen Befehle stehen, die nacheinander an den Server gesendet werden sollen. Das sieht z.B. so aus:
<<username>>
<<passwort>>
cd <<Verzeichnis, wo die Datei liegt>>
get <<Serverdatei>> <<Zielordner mit Pfad!>>
exit
an Stelle der << und >> musst du natürlich deine Daten einsetzen. Probiere einfach mal das Programm ftp mit den ganzen Befehlen nacheinander aus, dann siehst du, wenns Probleme gibt, wo diese liegen.
Danach führst du in einer konsole mal "ftp /help" aus... kann das hier leider gerade nicht machen, habe nur Linux. Es gibt dort einen Parameter namens -f falls ich mich richtig erinnere. Er dient dazu, die Befehle aus deiner ftp.txt der Reihe nach abzuarbeiten.
Wenn du fertig bist, schreibst du in eine update.exe die Zeile:
shell "ftp <<Server>> <<das Kommando, welches du gerade rausgesucht hast>> >output.txt"
Damit müsstest du die benötigte Datei einfach vom Server laden können...
Wenn du damit Probleme hast, melde dich, dann werde ich nochmal genauer recherchieren (schreibt man das so?)
Grüße
Florian |
|
Nach oben |
|
 |
|