Hi,
Punkt 4:
Es ist unnötig eine Datei anzulegen, diese mit den Nutzer-Daten (deine Dateiliste) zu füllen und anschließend brockenweise zu versenden. Da eh schon alles im Speicher liegt, verschickt du es direkt an den Zielrechner, es sei denn der Nutzer ist zur Zeit nicht erreichbar. Da wäre dann eine Datei sehr sinnvoll, hörte sich jedoch nicht so an, als wolltest du eine Warteschlange programmieren. Oder? Es könnte ja auch mal Vorkommen, das die Verbindung zwischen den einzelnen Computern abbricht usw. und sofort, da steckt der Teufel im Detail.
Zur Kompression:
Das lässt sich natürlich nicht pauschal beantworten, es ist immer unterschiedlich. Im Worstcase bringt eine Kompression gar nichts.
Hier mal ein simples Beispiel für eine gute Kompression:
Datei1.txt
Datei2.txt
Datei3.txt
In allen Dateinamen befindet sich das Wort "Datei" sowie die Erweiterung ".txt". Daraus könnte man jetzt zum Beispiel folgendes machen: "Datei/1-3/.txt". Es hängt also immer von den Daten selbst ab und wie sie aufgebaut sind.
PS: Die Kompression bezog sich lediglich auf die Dateiliste...den oft sind Daten ja schon recht gut komprimiert. Bilder, Videos, Programme, etc.
Zur Überwachung der Ordner:
Auch nicht ganz trivial:
Um festzustellen, das sich etwas ändert schau mal:
http://www.delphipraxis.net/internal...ct.php?t=76263
Anschließend müßtest du herausfinden, was sich geändert hat und dann die komplette Liste erneut übertragen oder nur die Änderung also im Endeffekt die Liste abgleichen.