Also, ich hab mir jetzt das gesamte Thema durchgelesen und muss sagen :
Das kommt mir sehr bekannt vor
Ich habe nämlich gerade erst vor 2 Monaten eine nicht kleine Client/Server Anwendung fertiggestellt, die verschiedene Datenbank miteinander abgleicht.
Aber zurück zum Thema :
Weg mit TClientSocket u. TServerSocket
Glaubt mir ich habe fast zwei Wochen am Anfang meines Projekts damit verschwenden

bis ich dann auf Leidensgenossen in diversen Foren gestossen bin.
Die Lösung ist die Verwendung von den Indy-Komponten
Im allgemeinen würde bei unterschiedlichen Daten zwei Ports zur kommunikation nutzen.
1. Port um Informationen auszutauschen, wie sende gleich Filestream mit der Größe 5MB oder File erfolgreich erhalten usw. ! Einfach halt ein kleines Nachrichten Protokoll entwerfen.
2. Port = Datenport
Dieser wird immer nur für Daten der Länge von xxxx Bytes geöffnet, wenn dies vorher auf Port 1 angekündigt wurde.
Das war auf jeden Fall im meinem Projekt notwendig, sonst hätte ich die Übersicht verloren, da das ganze Multi-Threaded abläuft.
Wenn man mit einem Port auskommen möchte würde ich wie auch schon weiter oben erwähnt, Deine Daten in einer XML-Datenstruktur ablegen und diese über einen MemoryStream verschicken(aber mit Indy).
So, das wärs fürs erste.
Sonst noch jemand irgentwelche anderen Erfahrungen ?
