Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
930 Beiträge
 
#6

AW: Delphi Patcher

  Alt 24. Apr 2017, 11:24
Die ersten Fragen die sich stellen sind:

1. Wie greifst du auf den Root-Server zu? (FTP, SMB, ...)
2. Mit welcher Bandbreite greifst du zu? (DSL 16mb/s oder LAN 100/1000 MB/s).
3. Kannst du den Inhalt auf dem Root-Server selbst festlegen, bzw. den/die Hashwert der Dateien ggf. schon beim Hochladen erstellen/speichern?

Erst dann kann man sich Gedanken über die Umsetzung machen, denn erst dann weiß man ggf. welche Vergleiche man überhaupt durchführen kann.

Wenn ich mal davon ausgehe, dass du den Inhalt auf dem Root-Server selber festlegen kannst, dann würde ich folgendes machen.
Ich würde mir beim Hochladen über jedes Verzeichnis für alle Dateien die Hashwert erzeugen und diese in eine Datei schreiben, die ebenfalls hochgeladen wird.
Beim Synchronisieren am Client würde ich dann diese Datei herunter laden, die Hashwerte einlesen und dann mit den Hashwerten der lokalen Dateien vergleichen. (Vielleicht über die Hashdatei von der letzten Synchronisierung, oder die Hashwerte der lokalen Dateien jedesmal selbst erzeugen).
Ist ein Hashwert unterschiedlich: Datei aktualisieren.
Ist kein Hashwert für eine lokale Datei vorhanden: Datei löschen
Fehlt die lokale Datei: Datei herunterladen.

Ein Vergleich über Dateiname, Dateigröße und FileTime würde ähnlich ablaufen, nur dass statt dem herunterladen der HashDatei halt das ermitteln der Werte Dateiname, Dateigröße und Filetime der Root-Dateien als erstes erfolgt.
Dann wieder den gleichen Vergleich wie oben, nur halt auf DAteiname, Dateigröße und Filetime.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.

Geändert von Hobbycoder (24. Apr 2017 um 11:26 Uhr)
  Mit Zitat antworten Zitat