![]() |
String vom IdTCPServer zum IdTCPClient schicken!?
HI Leute,
ich verzweifel etwas... Ich versuche mit einem idTCPServer einen Text (später mal Daten) an einen idTCPClient zu senden und zwar nicht in der "onexecute" Methode des Servers sondern beim Klick auf einen Button! Andersrum ist das ja leicht:
Delphi-Quellcode:
Nur hat der TCPServer außerhalb der execute (oder anderen Methoden) kein
procedure TForm1.Button1Click(Sender: TObject);
begin IdTCPClient1.Socket.WriteLn('Hallo'); end;
Delphi-Quellcode:
um irgendwelche "write" Methoden aufzurufen.
AContext: TIdContext
Das muss aber doch gehen, das man auf Knopfdruck eine Nachricht vom Server zum Client sendet!? Hoffe ihr könnt mir helfen! Danke! |
Re: String vom IdTCPServer zum IdTCPClient schicken!?
Versuch mit einem Timer den ReceiveText des Clients abzurufen. Wenn der string nicht '' ist darauf reagieren.
Florian |
Re: String vom IdTCPServer zum IdTCPClient schicken!?
Sorry Florian, aber ich versteh nicht was du meinst. Ich will ja eben auf NIX reagieren...sonder warten bis einer beim Serverprogramm auf einen Button klickt.
//NACHTRAG: Hab übrigens Indy 10 |
Re: String vom IdTCPServer zum IdTCPClient schicken!?
warte mit einem thread in einer endlosschleife mit readln auf ankommende daten beim client.
beispiele usw gibts in duzend anderen threads in der DP, wo mindestens ich auch geantwortet habe |
Re: String vom IdTCPServer zum IdTCPClient schicken!?
HI supermuckl, du hast mich falsch verstanden, mein Problem ist nicht die ankommenden Daten beim Client auszulesen, da kommen ja überhaupt keine an, da ich nicht weiß wie der Server die an den Client schicken kann^^
Mir scheint das immer mehr, dass das nicht geht und man dsa Problem nur durch 2 Verbindungen also jedes Programm bekommt Client+Server lösen kann... den der Datentransfer von Client -> Server ist ja einfach. So wie ich das verstehe kann der Server nur auf eingehende Daten von einem Client reagieren und nicht selbst etwas initiieren. Wäre dankbar wenn das einer klären könnte. |
Re: String vom IdTCPServer zum IdTCPClient schicken!?
Irgendwas in der Art:
IdTCPServer1.Context.Connections[0].Socket.SendText('blablabla'); oder das Context weglassen. Bin mir nicht mehr sicher. Florian |
Re: String vom IdTCPServer zum IdTCPClient schicken!?
Das mit dem context (um genau zu sein Acontext) gibts nur innerhalb der execute und anderen Ereignissen. Global kann man so wie es aussieht nichts dadran machen :|
|
Re: String vom IdTCPServer zum IdTCPClient schicken!?
Hi! :hi:
Falls du dich schon an das Versenden von (größeren) Datenpaketen machen willst, könnten dir diese Tutorials vieleicht helfen: ![]() ![]() Ich hoffe, dass ich dir helfen konnte, Viele Grüße, Dj_Base |
Re: String vom IdTCPServer zum IdTCPClient schicken!?
es geht ganz einfach mit dem server zum client zu senden.
auch dieses kann man in der indy demo sehen. einfach diese runterladen. im prinzip muss man nur seine client connections im server verwalten (speichern) und später kannst diese durchgehen und an die threads wieder was senden oder einfach im OnExecute ereignis im server (falls was vom client zuerst gesendet wird) dann darauf reagieren und zum client was zurück senden, weil du in dieser procedure schon AThread hast, was die verbindung zum client schon wäre. Athread.connection.readln / writeln usw |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 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