AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy. ATerminator, ganzen Text empfangen
Thema durchsuchen
Ansicht
Themen-Optionen

Indy. ATerminator, ganzen Text empfangen

Ein Thema von Thomas83 · begonnen am 2. Mär 2008 · letzter Beitrag vom 4. Mär 2008
Antwort Antwort
Thomas83

Registriert seit: 7. Jan 2008
180 Beiträge
 
#1

Indy. ATerminator, ganzen Text empfangen

  Alt 2. Mär 2008, 16:34
hi,

habe mal wieder ein indy Problem. Wenn ich längeren Text sende teilt indy den text.

Wie kann ich sicher gehen das der gesamte Text ankommt?

Habe es schon so probiert
Delphi-Quellcode:
var
  fClient : TIdTCPClient;
...
...
If Length(fClient.CurrentReadBuffer)>0 then
begin
  Len := fClient.RecvBufferSize;
  lCommand.Text := fClient.ReadString(Len);
...
habe es auch schon mit einem Terminator probiert
fClient.ReadLn('#$%'); aber irgend wie funktioniert das ganze nicht so.....
  Mit Zitat antworten Zitat
Thomas83

Registriert seit: 7. Jan 2008
180 Beiträge
 
#2

Re: Indy. ATerminator, ganzen Text empfangen

  Alt 2. Mär 2008, 16:39
oder vielleicht doch mit Buffer arbeiten?
  Mit Zitat antworten Zitat
Thomas83

Registriert seit: 7. Jan 2008
180 Beiträge
 
#3

Re: Indy. ATerminator, ganzen Text empfangen

  Alt 4. Mär 2008, 11:50
kann mir da keiner einen Tipp geben?
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

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

Re: Indy. ATerminator, ganzen Text empfangen

  Alt 4. Mär 2008, 14:50
Hi Thomas,

Du kannst bei Indy10 und glaube ich auch bei Indy9,
mit Readln + Terminator arbeiten.

Ich arbeite häufig und viel mit beiden Indy-Versionen,
habe bis jetzt nie Probleme mit ReadLn gehabt,
wie lang ist den Dein String der gesendet wird ?
Wie sieht der String aus ?
Bist Du sicher das im String kein CrLF drin ist ?

Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Thomas83

Registriert seit: 7. Jan 2008
180 Beiträge
 
#5

Re: Indy. ATerminator, ganzen Text empfangen

  Alt 4. Mär 2008, 15:38
der string ist nicht gerade lang. 20-30 Zeichen.
Bin mir nich zu 100% sicher ob ein CRLF vielleicht doch drinne ist.
muss mir den String nochmal genau anschauen.....

Mit einem Terminator hat es gar nicht funktioniert.....
aber ich glaube ..... dann muss ich mir das auch noch mal anschauen.....
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

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

Re: Indy. ATerminator, ganzen Text empfangen

  Alt 4. Mär 2008, 16:02
Hi,

in nem anderen Thread schreibst Du,
das Du eine StringList verschickst.
Wenn das der Fall ist ist hinter
jedem Eintrag der StringList ein CrLF

Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Thomas83

Registriert seit: 7. Jan 2008
180 Beiträge
 
#7

Re: Indy. ATerminator, ganzen Text empfangen

  Alt 4. Mär 2008, 16:04
Hi Data,

ja das stimmt, aber ich ersetze diese durch ein anderes Zeichen.
//Edit
Delphi-Quellcode:
procedure TfrmMain.SendData(Command, Data: string);
var
  l : tstringlist;
  s : string;
begin
  l := tstringlist.Create;
  l.Add(command);
  data := StringReplace(data,#13#10,'/13/10',[rfReplaceAll]);
  l.Add(data);
  fServer.Broadcast(l.text);//+'#$A' //#§&# Terminator
  l.Free;
end;
stimmt doch nicht, sehe gerade das ich zwei listen habe
data -> stringlist.text und l.text
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

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

Re: Indy. ATerminator, ganzen Text empfangen

  Alt 4. Mär 2008, 16:13
Hi,

mach's am besten so :

Delphi-Quellcode:
Var sToSend : String;
begin
  sToSend := StringReplace(yourStringList.CommaText,',','||');
  // ...
  yourIndyClient.WriteLn(sToSend);

end;
Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Thomas83

Registriert seit: 7. Jan 2008
180 Beiträge
 
#9

Re: Indy. ATerminator, ganzen Text empfangen

  Alt 4. Mär 2008, 16:16
werde ich morgen mal ausprobieren.
thx
  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 08:48 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