AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Indy TCP client empfangene Daten ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

Indy TCP client empfangene Daten ausgeben

Ein Thema von fox67 · begonnen am 15. Nov 2013 · letzter Beitrag vom 15. Nov 2013
Antwort Antwort
Seite 2 von 2     12   
stalkingwolf

Registriert seit: 6. Mai 2011
549 Beiträge
 
#1

AW: Indy TCP client empfangene Daten ausgeben

  Alt 15. Nov 2013, 12:39
Mit readln sollte es gehen
  Mit Zitat antworten Zitat
fox67

Registriert seit: 6. Okt 2010
Ort: 72661 Grafenberg
181 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Indy TCP client empfangene Daten ausgeben

  Alt 15. Nov 2013, 12:44
hab ich auch schon probiert macht kein Unterschied das Programm reagiert nicht mehr sobald man connected
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
549 Beiträge
 
#3

AW: Indy TCP client empfangene Daten ausgeben

  Alt 15. Nov 2013, 12:50
Ich benutze selber immer noch einen TThread der sich um das Thema kümmert, damit die Hauptanwendung nicht blockiert wird.

Delphi-Quellcode:
TClientHandleThread = class(TThread)
  private
    msg : string;
    procedure HandleInput;
    protected
    procedure Execute; override;
  end;

procedure TClientHandleThread.HandleInput;
begin
    addlog(msg);
end;

procedure TClientHandleThread.Execute;
begin
    while not Terminated do begin
        if fmain.myindytcpClient.Connected then begin
            try
                msg:=fmain.myindytcpClient.ReadLn;
                Synchronize(HandleInput);
            except
            end;
        end;
    end;
end;

procedure fmain.myindytcpClientDisconnected(Sender: TObject);
begin
    try
        ClientHandleThread.Terminate;
    except
    end;
end;
und beim connecten auf den Server

Delphi-Quellcode:
ClientHandleThread := TClientHandleThread.Create(True);
                    ClientHandleThread.FreeOnTerminate := True;
                    ClientHandleThread.Resume;
Woher kommen die Daten denn?

Geändert von stalkingwolf (15. Nov 2013 um 12:52 Uhr)
  Mit Zitat antworten Zitat
fox67

Registriert seit: 6. Okt 2010
Ort: 72661 Grafenberg
181 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Indy TCP client empfangene Daten ausgeben

  Alt 15. Nov 2013, 13:03
Ich benutze selber immer noch einen TThread der sich um das Thema kümmert, damit die Hauptanwendung nicht blockiert wird.

Delphi-Quellcode:
TClientHandleThread = class(TThread)
  private
    msg : string;
    procedure HandleInput;
    protected
    procedure Execute; override;
  end;

procedure TClientHandleThread.HandleInput;
begin
    addlog(msg);
end;

procedure TClientHandleThread.Execute;
begin
    while not Terminated do begin
        if fmain.myindytcpClient.Connected then begin
            try
                msg:=fmain.myindytcpClient.ReadLn;
                Synchronize(HandleInput);
            except
            end;
        end;
    end;
end;

procedure fmain.myindytcpClientDisconnected(Sender: TObject);
begin
    try
        ClientHandleThread.Terminate;
    except
    end;
end;
und beim connecten auf den Server

Delphi-Quellcode:
ClientHandleThread := TClientHandleThread.Create(True);
                    ClientHandleThread.FreeOnTerminate := True;
                    ClientHandleThread.Resume;
Woher kommen die Daten denn?
Hab ich oben schon geschrieben. Hier ist ein Manual zu dem Server
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Indy TCP client empfangene Daten ausgeben

  Alt 15. Nov 2013, 13:09
Hab ich oben schon geschrieben. Hier ist ein Manual zu dem Server
Und jetzt sollen wir gemäß der Docu für Dich die Routine schreiben?
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Indy TCP client empfangene Daten ausgeben

  Alt 15. Nov 2013, 13:12
Hallo
ich würde gerne mit delphi Datenpakete die von einem TCP server versendet werden empfangen und in einer Memo ausgeben. Die Daten sehen so aus wie in diesem Manual Seite4. Die Daten werden konstant ohne Unterbrechung gesendet.
Mit Wireshark könnte man nachschauen, was tatsächlich gesendet wird. Eventuell wird ein anderer Zeilenseparator verwendet als bei ReadLn.

Oder ohne Wireshark: einfach in einer Schleife Byte für Byte lesen und ausgeben. Dann könnte man den Datenstrom im Debugger einfach mitlesen.
Michael Justin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 17:13 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