Hallo!
Mit "D" kenne ich mich leider nicht aus, weiß nur das eine gute Kompatibilität mit C besteht.
Wenns unbedingt in D sein muss, muss ich passen. In C habe ich durchaus Socket Erfahrungen.
Grundsätzlich, so wie ich das sehe, musst du zunächst die Datei einlesen und dann blockweise rüberstreamen.
Um was für Files handelt es sich?
wenn du willst, kann ich dir ein c++ Socket zeigen. Da "D" allerdings m.E. keine Kompatibilität mit C++ sondern nur mit C hat, müsstest du es vermutlich noch in C umschreiben (sonst frag nach).
lg