Shakie
Erfahrenes Mitglied
Du solltest die Dateien natürlich beim Client liegen lassen. Stell dir vor, jemand gibt eine 2 GB große Datei frei! Dann wäre das Netzwerk erst mal lahmgelegt ^^.
Desweiteren musst du dir das so vorstellen: ein String besteht aus mehreren Zeichen. Jedem Zeichen kann dabei eine eindeutige Nummer von 0 bis 255 zugeteilt werden (es sei denn du programmierst fürs chinesische Windows, dann sinds mehr). (Die Nummern kannst du dir mit der Funktion "vba.Asc(Zeichen)" ausgeben lassen, zu der Funktion gibt es auch tausende von Threads.) Diese Nummer heißt ASCII-Zeichen. Nun ist es so, dass wenn du eine Datei byteweise einließt jedes Byte logischerweise einen Wert von 0 bis 255 annehmen kann (sonst wäre es ja kein Byte).
Und vielleicht klingelt es nun bei dir...
Du ließt also ein Byte der Datei ein und erhälst somit eine Zahl. Diese wandelst du nun in ein Zeichen (dafür gibt es die Funktion "vba.Chr$(Zeichennummer)") und sendest dieses Zeichen als String so wie du es aus einem Chat gewohnt bist an den Empfänger. Der muss die Zeichen dann halt wieder mit "vba.Asc(Zeichen)" in ein Byte zurückwandeln und in eine Datei schreiben.
Das dauert aber recht lange. Deswegen könntest du gleich mehrere Verbindungen zu dem Empfänger aufbauen, indem du mehrere Winsock-Controls lädst. Ich würde dir aber vorschlagen, es erst mal mit einer Verbindung zu probieren. Wenn du das geschafft hast kannst du dir was wegen der Geschwindigkeit überlegen.
Desweiteren musst du dir das so vorstellen: ein String besteht aus mehreren Zeichen. Jedem Zeichen kann dabei eine eindeutige Nummer von 0 bis 255 zugeteilt werden (es sei denn du programmierst fürs chinesische Windows, dann sinds mehr). (Die Nummern kannst du dir mit der Funktion "vba.Asc(Zeichen)" ausgeben lassen, zu der Funktion gibt es auch tausende von Threads.) Diese Nummer heißt ASCII-Zeichen. Nun ist es so, dass wenn du eine Datei byteweise einließt jedes Byte logischerweise einen Wert von 0 bis 255 annehmen kann (sonst wäre es ja kein Byte).
Und vielleicht klingelt es nun bei dir...
Du ließt also ein Byte der Datei ein und erhälst somit eine Zahl. Diese wandelst du nun in ein Zeichen (dafür gibt es die Funktion "vba.Chr$(Zeichennummer)") und sendest dieses Zeichen als String so wie du es aus einem Chat gewohnt bist an den Empfänger. Der muss die Zeichen dann halt wieder mit "vba.Asc(Zeichen)" in ein Byte zurückwandeln und in eine Datei schreiben.
Das dauert aber recht lange. Deswegen könntest du gleich mehrere Verbindungen zu dem Empfänger aufbauen, indem du mehrere Winsock-Controls lädst. Ich würde dir aber vorschlagen, es erst mal mit einer Verbindung zu probieren. Wenn du das geschafft hast kannst du dir was wegen der Geschwindigkeit überlegen.