AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Probleme bei Umstellung von TClientSocket auf TIdTCPClient
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme bei Umstellung von TClientSocket auf TIdTCPClient

Ein Thema von Kedariodakon · begonnen am 18. Okt 2004 · letzter Beitrag vom 25. Feb 2006
Antwort Antwort
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#1

Probleme bei Umstellung von TClientSocket auf TIdTCPClient

  Alt 18. Okt 2004, 15:06
Möchte meine Anwendung die mit Hilfe der Socket-Komponenten läuft auf die Indy Komponenten umstellen!
Bei der Server-Anwendung gibt es keine Probleme, aber bei dem Client!
Der TClientSocket hat das Event OnRead, welches ja anschlägt, wenn Daten beim Client ankommen...
Aber beim TIdTCPClient kann ich nichts vergleichbares finden...

Gibts da sowas nicht?
Oder bin ich zu plöd?
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Probleme bei Umstellung von TClientSocket auf TIdTCPClie

  Alt 18. Okt 2004, 16:18
OK ich konnte folgende Sachen herrausbekommen:

Zitat:
Ein onRead Event beim TidTCPClient gibt es nicht, da man mit der methode read von der connection lesen kann...
Nur das das dauernt freezt bis die anzahl der Auszulesenen Byts erreicht ist
Dann muß man noch mit einem Timer arbeiten, was ich als nicht schön ansehe...
Warum haben die Indy-Entwickler kein so ein Event eingebaut? Bei anderen Indy-Client Komponenten ist es ja scheinbar vorhanden

Aber man kann sich ein OnRead-Event selber schreiben, nur kein Plan wo ich da anfangen muß...
Hat das schon mal wer gemacht?

Ich weiß auch nicht ob ich das mit meinen Delphi Kenntnissen allein hinbekomm, da ich ja erst Anfänger bin
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Probleme bei Umstellung von TClientSocket auf TIdTCPClie

  Alt 19. Okt 2004, 09:23
Ok hab es gelöst, hab ein extra Thread zum lesen genommen...
DA meine Lösung:

Delphi-Quellcode:
Unit cTReadThread;

Interface


Uses IdTCPClient, Classes;


Type
   TOnReadEvent = Procedure ( TheTIdTCPClient: TIdTCPClient; AString: String ) Of Object;
   TReadThread = Class( TThread )
      Private
         { Private-Deklarationen }
      Protected
         { Protected-Deklarationen }
         FOnRead: TOnReadEvent;
         MyTIdTCPclient: TIdTCPClient;
      Public
         { Public-Deklarationen }
      Published
         { Published-Deklarationen }
         Constructor Create( CreateSuspendend: Boolean; TheTIdTCPClient: TIdTCPClient );
         Property OnRead: TOnReadEvent read FOnRead write FOnRead;
         Procedure Execute; Override;
   End;


Implementation


Constructor TReadThread.Create( CreateSuspendend: Boolean; TheTIdTCPClient: TIdTCPClient );
Begin
   Inherited Create( CreateSuspendend );
   MyTIdTCPclient := TheTIdTCPClient;
End;


Procedure TReadThread.Execute;
Begin
   While Not Terminated Do Begin
      If Assigned( FOnRead ) Then FOnRead(MyTIdTCPclient, MyTIdTCPclient.CurrentReadBuffer );
      //If Assigned( FOnRead ) Then FOnRead(MyTIdTCPclient, MyTIdTCPclient.ReadLn );
   End;
End;


end.
Bye
Christian
  Mit Zitat antworten Zitat
m0sch3r

Registriert seit: 29. Mär 2004
121 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Probleme bei Umstellung von TClientSocket auf TIdTCPClie

  Alt 25. Feb 2006, 14:17
das sit darauf bezogen das der Client text empfängt, was ist aber wenn es auch eine detei ist, z.B stream...
  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 09:00 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