Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Strings via Netzwerk in beide Richtungen versenden (https://www.delphipraxis.net/51227-strings-via-netzwerk-beide-richtungen-versenden.html)

storm1988 8. Aug 2005 19:05


Strings via Netzwerk in beide Richtungen versenden
 
Hallo alle miteinander!!

Ich möchte gerne einen Server und einen Client mithilfe der Indy Komponenten kommunizieren lassen.
Ich habe es schon mit dem IdTCP Komponenten versucht, jedoch ist es mir mit denen nur geglückt einen String vom Server zum Client zu versenden.

Ich bedanke mich schon im Voraus
Mfg storm

alzaimar 14. Aug 2005 12:46

Re: Strings via Netzwerk in beide Richtungen versenden
 
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.

BrinkschulteManfred 25. Aug 2005 15:43

Re: Strings via Netzwerk in beide Richtungen versenden
 
Hallo storm1988,

hast Du inzwischen eine Lösung dazu gefunden? Ich bin nämlich auch auf der Suche nach solchen Komponenten, da ich durch eine Firewall / durch einen Router Kommunikationen aufbauen möchte. Daher habe ich natürlich das Problem mit NAT. Eine Kommunikation wie beim Browser (man stellt eine Frage und bekommt auf dem gleichen Kanal eine Antwort zurück) wäre da sicherlich besser, als mit TCPServer / TCPClient eine "Frage" zu stellen, die Connection zu beenden und dann in der Gegenrichtung die Antwort zu schicken.

Aber eventuell habe ich da ja auch etwas falsch verstanden. :gruebel: Die Komponenten sind doch unidirektional, oder :?:

Gruß
Manfred

supermuckl 25. Aug 2005 16:17

Re: Strings via Netzwerk in beide Richtungen versenden
 
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.

BrinkschulteManfred 26. Aug 2005 08:28

Re: Strings via Netzwerk in beide Richtungen versenden
 
Hi supermuckl,

herzlichen Dank, ich werde mich dann mal auf die Suiche machen. Eventuell finde ich ja etwas, was passt und was ich verstehe. Ansonsten melde ich mich noch einmal :wink:

Übringens, Deine Musik auf Deiner Seite ist gut, gefällt mir! :thumb:

Gruß
Manfred

supermuckl 29. Aug 2005 15:16

Re: Strings via Netzwerk in beide Richtungen versenden
 
[OT]
Zitat:

Übringens, Deine Musik auf Deiner Seite ist gut, gefällt mir! Thumbs up!
FETT !!! :)
ich glaub ich muss mal n gästebuch installen :)
[/OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz