AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy 10 und TCP Client...
Thema durchsuchen
Ansicht
Themen-Optionen

Indy 10 und TCP Client...

Ein Thema von Schucki · begonnen am 26. Aug 2006 · letzter Beitrag vom 5. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#1

Indy 10 und TCP Client...

  Alt 26. Aug 2006, 20:40
Hi,

ich habe nun ein TCPClient aus der Indy Sammlung.
Möchte ganz gerne wissen wiviel Zeilen ich mit

IOHandler.Readln auslesen kann...

Im moment mach ich das über einen Timer...


Delphi-Quellcode:
  if IdTCPClient.Connected then begin
    with IdTCPClient do begin
      strResult:=IOHandler.ReadLn;
      Memo1.Lines.Add(strResult);
    end;
  end;
Nur lese ich nicht alle Zeilen aus die drin sind sondern immer nur eine Zeile .

Hat jemand eine Idee wie man immer alles auslesen kann?

Gruß Frank...
Frank
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Indy 10 und TCP Client...

  Alt 26. Aug 2006, 21:17
Zitat von Schucki:
Hi,

ich habe nun ein TCPClient aus der Indy Sammlung.
Möchte ganz gerne wissen wiviel Zeilen ich mit

IOHandler.Readln auslesen kann....
Eine

Mehrere Zeilen ließt man mit ReadStrings()
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#3

Re: Indy 10 und TCP Client...

  Alt 26. Aug 2006, 22:11
Ok Danke!

Nun jetzt ließ er fleßig in die StringListe ein... nur er wird nie fertig weil immer was neues reinkommt...
Kann man ermitteln wieviele Zeilen empfangen wurden?

Gruß Frank
Frank
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#4

Re: Indy 10 und TCP Client...

  Alt 27. Aug 2006, 01:19
StringList.Count ist wohl das was Du suchst. Du kannst aber auch TCPClient.ConnectAndGetAll verwenden.
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#5

Re: Indy 10 und TCP Client...

  Alt 28. Aug 2006, 03:21
Hi,

ja ich habe einmal verbunden mit dem Server, das klappt auch ganz ausgezeichnet.
Im Timer lese ich noch immer mit Readln aus doch logischer wäre alles auszulesen was da ist.

Ich bekomme vom Server eine unbestimmte Anzahl von Zeilen... das können mal 3 mal 10 mal 14 sein.
Immer wenn ich im Timer da nachschau würde ich dann auch gerne genau die Anzahl auslesen.

Oder sollte man da einen extra Thread aufmachen der ständig im Kreis rennt?

Gruß Frank
Frank
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#6

Re: Indy 10 und TCP Client...

  Alt 28. Aug 2006, 10:37
Wie gesagt verwende  GetConnectAndGetAll Dann bekommts Du alles bis die Remoteseite trennt.
Trennt die RemoteSeite überhaupt nicht, kannst Du bei  Memo1.Lines.Count ansetzten.
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#7

Re: Indy 10 und TCP Client...

  Alt 29. Aug 2006, 16:09
Danke für die Antworten doch sie führen nicht zum Ziel...

Ich verbinde zu einem Server, logge mich ein, Verbindung wird erst beim PROGRAMMENDE wieder getrennt.
Die Funktion IdTCPClient.ConnectAndGetAll trennt die Verbuindung ja wieder das will ich ja nicht.

Ich kapier es nicht es muß doch irgendwie gehen...

Weiter am basteln... Frank...
Frank
  Mit Zitat antworten Zitat
Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#8

Re: Indy 10 und TCP Client...

  Alt 4. Sep 2006, 10:29
Hi,

sagt mal was muß man machen damit der Client sich ordendlich vom Server abmeldet?
Ich mach es mit

TCPClient.Disconnect;

Nun wenn aber noch Daten im Client lagern, was ich ja nicht weiß, trennt er nicht ordendlich sondern sagt beim nächsten Connect,

Allrady connect...

Wie macht man es richtig?

MfG Frank...
Frank
  Mit Zitat antworten Zitat
Carlo91

Registriert seit: 3. Jun 2006
Ort: Bremen
107 Beiträge
 
Delphi 2006 Architect
 
#9

Re: Indy 10 und TCP Client...

  Alt 4. Sep 2006, 14:36
Was willst du programmieren wenn man fragen darf, vieleicht kann ich dir helfen.

P.S. ich kann es aber nicht versprechen das ich dir helfen kann.

MfG Carlo
Thorben
  Mit Zitat antworten Zitat
Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#10

Re: Indy 10 und TCP Client...

  Alt 5. Sep 2006, 14:04
Hi Carlo,

ich kann es ja nochmal beschreiben.
Ich möchte mein Programm durch ein Indy TcpClient mit einen Server verbinden.
Das klappt!

Nun lese ich über ein Timer die Daten aus, das geht auch!

Delphi-Quellcode:
if IdTCPClient.Connected then begin
    with IdTCPClient do begin
      strResult:=IOHandler.ReadLn;
      Memo1.Lines.Add(strResult);
    end;
  end;
end;
Meine Frage ist nun noch immer wie ich ALLE Daten an dieser Stelle auslesen kann sodas ich mal 3 mal 5 oder mal 10 Zeilen auf einmal gelesen hab, immer also die Anzahl der Zeilen die auch wirklich zur Verfügung stehen.

Es muß doch möglich sein das abzufragen oder nicht?
Ich glaube das er mir die "Allready connect" Meldung erzeugt da noch Daten vorhanden sind obwohl ich die Verbindung schon getrennt habe...

MfG Frank
Frank
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:56 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