du solltest dir vielleicht eine client verwaltung in deinem server überlegen
ich mach wenn ich mit
indy tcp server arbeite z.b. immer eine klasse die für einen einzigen client instanziert wird
wenn er connected..
wenn er disconnected wird das ganze wieder geFREEd.
wenn der client nun was an den server sendet weis ich nicht nur über die
IP ( die kriegt man ja leicht raus )
sondern auch über den client thread ( TidPeerThread ) und seinem .Data anhängsel die gesamte klasse ( oder halt record ) wieder raus und hat somit wieder die ganzen daten die für den einen client der gerade was "gesagt" hat für weitere verwendung parat.
wenn nun ein client zum anderen was schicken soll und an die anderen nicht mach ich es so das z.b. bei jedem client es die möglichkeit gibt ( beim chat z.b. ) ein
query zu öffnen mit einem anderen gesprächspartner.. und so weis dann der server
aha.. client 1 und client 5 wollen nun ein
query.. also speichert der server in client 1 und client 5 ( nach nachfrage bei client 5 ob er das
query annehmen will ) im record ab, das diese 2 mit einem
query verbunden sind.. und so kann dann bei jedem "OnExecute" beim server geschaut werden.. ah der client der gerade eine zeile gesendet hat steckt im
query mit einem anderen.. also ab mit dem string zu client 5..
is natürlich ein wenig komplexer als mit deinem Tserversocket.. aber wenn du einen gescheiten chat bauen willst dann ist eine verwaltung nicht mal so schlecht ( gerade für erweiterungen sehr wichtig )
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!