AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIdTCPClient daten empfangen (Indy10)
Thema durchsuchen
Ansicht
Themen-Optionen

TIdTCPClient daten empfangen (Indy10)

Ein Thema von Dregan · begonnen am 27. Apr 2012 · letzter Beitrag vom 29. Apr 2012
Antwort Antwort
Dregan

Registriert seit: 9. Apr 2012
3 Beiträge
 
#1

TIdTCPClient daten empfangen (Indy10)

  Alt 27. Apr 2012, 19:24
Hey,

Ich hab da ein kleines Problem. Gibt es eine Funktion in Indy10, die es mir ermöglich, dass ein Client Event genauso funktioniert, wie das Event OnExecute, wie bei einem Server?

Ich habe mir eine "Lösung" zurechtgebastelt, jedoch ist diese nicht unbedingt optimal. Ich habe einen Timer erstellt, der aller x ms ungefähr folgendes ausführt, um Daten zu erhalten und anzuzeigen:

Code:
updatemessage := Client.IOHandler.ReadLn('', 10);
if updatemessage <> '' then
  Memo1.Lines.Add(updatemessage);
Hört sich so eigentlich nicht unbedingt schlecht an, aber mein Programm baut mehrere Verbindungen auf - Das heißt: Ganz fix könnten da auch schonmal 10-20 Verbindungen stehen und das wird sehr unangenehm gegenüber dem Rechner. Ich suche halt lediglich einen effizienteren Weg.

Liebe Grüße,
Dregan
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.123 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TIdTCPClient daten empfangen (Indy10)

  Alt 27. Apr 2012, 19:39
ich habe einige DEMO INDY 10 auf Source forge , alle samples bis auf #3 spielen, hier bin ich selber noch auf der Suche nach dem Bug
  Mit Zitat antworten Zitat
Dregan

Registriert seit: 9. Apr 2012
3 Beiträge
 
#3

AW: TIdTCPClient daten empfangen (Indy10)

  Alt 27. Apr 2012, 19:59
Hey bernhard_LA,

In deinen samples befindet sich nichts, was mein Problem Lösen könnte. Ich hatte die mir schon angeschaut, bevor ich dieses Thema geöffnet habe. Aber danke für deine hilfe.

Dregan
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

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

AW: TIdTCPClient daten empfangen (Indy10)

  Alt 28. Apr 2012, 04:56
Du kannst in einem extra Thread die blocking Receive Funktionen aufrufen. Solange keine Daten da sind, ist der Thread dann praktisch angehalten.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
willyxv

Registriert seit: 25. Okt 2010
29 Beiträge
 
Delphi XE Enterprise
 
#5

AW: TIdTCPClient daten empfangen (Indy10)

  Alt 28. Apr 2012, 08:55
Hi,

Ich selbst nutze den Client.Socket von Delphi, hier ist ein gutes Tutorial.

http://www.youtube.com/watch?v=xr63bhoXF3A

Der Client hat ein onRead Ereigniss welches genau das tut, was du willst.

MfG Willy
  Mit Zitat antworten Zitat
Dregan

Registriert seit: 9. Apr 2012
3 Beiträge
 
#6

AW: TIdTCPClient daten empfangen (Indy10)

  Alt 28. Apr 2012, 10:45
Hey Zacherl,

Danke für deine Antwort. Das klingt gut. Ich werde es mal damit versuchen.

@willyxz: Auch dir danke. Ich muss jedoch mit den Indy-Komponenten arbeiten.

Liebe Grüße,
Dregan
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: TIdTCPClient daten empfangen (Indy10)

  Alt 29. Apr 2012, 22:15
@Dregan:
Du kannst auch einfach anstatt eines Timer einer eigenen Thread
erzeugen der alles an Daten liesst, was aus der Leistung kommt.

Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  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 06:31 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