AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CRC Berechnen

Ein Thema von RedShakal · begonnen am 26. Jul 2009 · letzter Beitrag vom 31. Jul 2009
Antwort Antwort
RedShakal
(Gast)

n/a Beiträge
 
#1

CRC Berechnen

  Alt 26. Jul 2009, 02:09
Hallo, ich möchte in mein Programm einen "Map Downloader" für ein altes Spiel integrieren. In der Theorie stelle ich mir das so vor:

1. Client sucht welche Maps vorhanden sind
2. Client verbindet zu http host -> fragt Mapliste z.b. aus Textdatei ab
3. Client vergleicht ob eine Map aktueller als die installierte
4. Client läd die datei herunter.

Das Problem dabei ist: wie vergleicht man am besten ob 2 Files identisch sind? bei der Größe ist es problematisch. Wenn man 2x die Selbe Map compiled, verändert sich lediglich eine "versionskennung". die ist so klein, das man nicht mit Dateigröße vergleichen Arbeiten kann.

Gibt es da evtl eine Bessere variante?
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#2

Re: CRC Berechnen

  Alt 26. Jul 2009, 02:55
Japp gibts Im Internet bist du bestimmt schonmal über den MD5-Algorithmus gestolpert. Damit ist es möglich 2 Dateien relativ(!) schnell miteinander zu vergleichen.

Falls du mit .NET arbeitest kann dir folgender Artikel helfen: http://www.delphipraxis.net/internal...ct.php?t=53095
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: CRC Berechnen

  Alt 26. Jul 2009, 09:37
Du hast das Stichwort doch schon im Titel?!

Erstes Ergebnis von Bei Google suchenDelphi CRC: http://www.umnicom.de/Software/Delph...Utilities.html

(BTW, falls das nicht klar sein sollte: CRC ist ein Verfahren zur Prüfsummenberechnung...)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.049 Beiträge
 
Delphi 12 Athens
 
#4

Re: CRC Berechnen

  Alt 26. Jul 2009, 09:58
also in deiner Textdatei auf'm Server neben dem Dateinamen noch den Hash der Datei ablegen
und mit dem der Datei auf dem Rechner vergleichen.
(nicht daß jetzt wer auf die Idee kommt erst die Datei runterzuladen und lokal den Hash zu bilden ... dann könnte man auch gleich direkt vergleichen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: CRC Berechnen

  Alt 26. Jul 2009, 12:17
Man könnte auch ganz abwegig auf Client und Server eine Versionsnummer ablegen und die vergleichen, aber das wäre wahrscheinlich zu langweilig ...
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.620 Beiträge
 
Delphi 12 Athens
 
#6

Re: CRC Berechnen

  Alt 26. Jul 2009, 12:18
*Pfhh*, für echte Männer viel zu trivial
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.049 Beiträge
 
Delphi 12 Athens
 
#7

Re: CRC Berechnen

  Alt 26. Jul 2009, 12:21
genau ... und dann vergißt mal wer die Versionsnummer zu erhöhen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: CRC Berechnen

  Alt 26. Jul 2009, 12:39
Man könnte sich sogar ganz auf eingebaute Mechanismen wie If-Modified-Since/304 verlassen, Verzählen ausgeschlossen . Wenn der Server dabei mitspielt, bräuchte man auf dessen Seite nicht einmal eigenen Code.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
RedShakal
(Gast)

n/a Beiträge
 
#9

Re: CRC Berechnen

  Alt 30. Jul 2009, 01:40
man kann die versionsnummer nicht vergleichen weil es nicht direkt eine versionsnummer ist es ist einfach in die map mit integriert und nicht ohne weiteres auslesbar
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#10

Re: CRC Berechnen

  Alt 31. Jul 2009, 13:36
Dann erstelle CRC-Prüfsummen der Dateien.
Auf dem Server ein PHP-Script das die CRC der gewünschten Datei(en) ermittelt.
Noch eine Datenbank die für Dateiname/CRC das Erstellungsdatum, Version und optional weitere Informationen zurückgibt (und beim Upload diese Infos aufnimmt).
Jeweils eine Anfrage für die Datei/CRC auf Client und Server, vergleichen und fertig.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz