AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi String vom IdTCPServer zum IdTCPClient schicken!?
Thema durchsuchen
Ansicht
Themen-Optionen

String vom IdTCPServer zum IdTCPClient schicken!?

Ein Thema von dadu · begonnen am 9. Nov 2005 · letzter Beitrag vom 11. Nov 2005
Antwort Antwort
dadu

Registriert seit: 17. Apr 2003
Ort: Dattenberg
102 Beiträge
 
Delphi 2005 Personal
 
#1

String vom IdTCPServer zum IdTCPClient schicken!?

  Alt 9. Nov 2005, 18:36
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:
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPClient1.Socket.WriteLn('Hallo');
end;
Nur hat der TCPServer außerhalb der execute (oder anderen Methoden) kein
AContext: TIdContext um irgendwelche "write" Methoden aufzurufen.

Das muss aber doch gehen, das man auf Knopfdruck eine Nachricht vom Server zum Client sendet!?

Hoffe ihr könnt mir helfen!
Danke!
DaDu
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: String vom IdTCPServer zum IdTCPClient schicken!?

  Alt 9. Nov 2005, 18:43
Versuch mit einem Timer den ReceiveText des Clients abzurufen. Wenn der string nicht '' ist darauf reagieren.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
dadu

Registriert seit: 17. Apr 2003
Ort: Dattenberg
102 Beiträge
 
Delphi 2005 Personal
 
#3

Re: String vom IdTCPServer zum IdTCPClient schicken!?

  Alt 9. Nov 2005, 18:48
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
DaDu
  Mit Zitat antworten Zitat
supermuckl

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

Re: String vom IdTCPServer zum IdTCPClient schicken!?

  Alt 9. Nov 2005, 19:27
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
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
dadu

Registriert seit: 17. Apr 2003
Ort: Dattenberg
102 Beiträge
 
Delphi 2005 Personal
 
#5

Re: String vom IdTCPServer zum IdTCPClient schicken!?

  Alt 9. Nov 2005, 19:48
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.
DaDu
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: String vom IdTCPServer zum IdTCPClient schicken!?

  Alt 10. Nov 2005, 12:58
Irgendwas in der Art:
IdTCPServer1.Context.Connections[0].Socket.SendText('blablabla');

oder das Context weglassen. Bin mir nicht mehr sicher.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
dadu

Registriert seit: 17. Apr 2003
Ort: Dattenberg
102 Beiträge
 
Delphi 2005 Personal
 
#7

Re: String vom IdTCPServer zum IdTCPClient schicken!?

  Alt 10. Nov 2005, 16:06
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
DaDu
  Mit Zitat antworten Zitat
Benutzerbild von Dj_Base
Dj_Base

Registriert seit: 10. Aug 2004
Ort: Aachen
231 Beiträge
 
Delphi 2007 Professional
 
#8

Re: String vom IdTCPServer zum IdTCPClient schicken!?

  Alt 10. Nov 2005, 20:46
Hi!

Falls du dich schon an das Versenden von (größeren) Datenpaketen machen willst, könnten dir diese Tutorials vieleicht helfen:
http://www.delphipraxis.net/internal...ct.php?t=61806
http://www.delphipraxis.net/internal...ct.php?t=10179

Ich hoffe, dass ich dir helfen konnte,
Viele Grüße,

Dj_Base
  Mit Zitat antworten Zitat
supermuckl

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

Re: String vom IdTCPServer zum IdTCPClient schicken!?

  Alt 11. Nov 2005, 08:02
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
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz