hoffentlich bekomme ich mein Problem irgendwie verständlich zusammengefasst.
Habe mir einen Server und einen Client zurecht gebastelt und für eine bestimmte Funktion habe ich nun ein kleines Problem mit der Umsetzung.
Nachdem der Server einen Befehl zum Client gesendet hat, soll der Client ein bestimmtes Verzeichnis auslesen, ein Protokoll erstellen und dann diese Daten wieder an den Server senden.
Die Daten zu senden und zu empfangen ist kein Problem und auch das Auslesen des Verzeichnisses Funktioniert. Allerdings ist mir das alles ein bischen zu langsam.
Hier mal ein Code-Snippet des Clients:
Code: Alles auswählen
ClientID = Random(9999999999)
Command$ = "SendGravityDirectoryEntrys"
Path$ = "C:\Programme\Gravity\Checks\"
Success$ = "false"
If ExamineDirectory(0, Path$, "*.*")
While NextDirectoryEntry(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
Entrys$ + DirectoryEntryName(0) + "\" + Str(DirectoryEntrySize(0)) + "\"
EndIf
Wend
FinishDirectory(0)
Success$ = "true"
Else
EndIf
Protocol$ + "ClientID: " + Str(ClientID) + #CRLF$
Protocol$ + "Command: " + Command$ + #CRLF$
Protocol$ + "Success: " + Success$ + #CRLF$
Protocol$ + "Size: " + Str(StringByteLength(Entry$)) + #CRLF$
Protocol$ + "Content: " + Entrys$
Wenn dieser Teil des Codes das getan hat, das er tun soll, würden die Daten an den Server gesendet werden.
Das Problem ist nun Folgendes:
Wenn das zu durchsuchende Verzeichnis sehr viele Dateien enthält, dann würde es ziemlich lange dauern die ganzen Dateinamen mit "+" an Die vorhandene Variable "Entrys$" anzhängen.
Jetzt wollte ich mal fragen, ob es irgendwie möglich ist, Die Einträge in einem Rutsch einzulesen und dann an Meine Variable "Protocol$" anzuhängen, um diese dann zu versenden.
Ich habe schon darüber nachgedacht, die Daten in einer strukturierten Liste zu speichern, allerdings hab ich keine Ahnung, wie ich diese versende und die Daten auf dem Server wieder in eine Liste umwandle. Außerdem Sollte der Verzeichnis-Inhalt zusammen mit dem Protokoll gesendet werden.