Zitat:
So wie ich das kenne, sind die immer nur unidirektional. Um Daten hin und her zu schicken, benötigst Du auf allen Applikationen sowohl einen
TCP-Client, als auch einen
TCP-Server, denn der eine "hört", was der Andere "sagt". Mehr können die nicht.
komplett falsch.
es gibt haufen threads darüber, wie man mit clients senden und empfangen kann. analog dazu auch mit den servern.
//edit
und weil ich gut drauf bin, werde ich es nochmal in kurzform erläutern:
server seite:
-> es gibt ein ereignis, das bei ankommenden daten ausgelöst wird -> danach empfang durch z.b. readln
-> man kann auf alle client-threads zugreifen und somit zu jedem client (wie man lustig ist) daten senden -> z.b. mit writeln
client seite:
-> es gibt kein ereignis für das empfangen, man muss sich einen thread bauen, der in einer schleife die "readln"'s (z.b.) macht und damit die daten die vom server kommen "annimmt"
-> fürs senden an den server einfach z.b. writeln
übertragen kann man so ziemlich alles. ganze speicherbereiche, instanziierte klassen, strings, streams usw.
ich verweise auch jedesmal auf die
indy demos, in denen es super "erklärt" wird, wie die komponenten zu benutzen sind. genau das was ich beschrieben habe, kommt z.b. im client-server demo vor, wo ein thread die daten abholt und sogar serverseitig die clients verwaltet werden (multithreading)
//nachtrag
das ganze war natürlich auf TidTCPServer und TidTCPClient und damit auf allen vererbten Komponenten von den Indys bezogen.
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!