Einzelnen Beitrag anzeigen

supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Strings via Netzwerk in beide Richtungen versenden

  Alt 25. Aug 2005, 16:17
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!
  Mit Zitat antworten Zitat