![]() |
Receiveln vom TCPClient
Hi,
ich wollte rein interessehalber einfach mal gucken was passiert wenn ich eine TCP-Verbindung zu einem Webserver aufbaue und ihm ein http-Request schicke (um etwas darüber zu lernen). Also einfach mal losgelegt (in meinem Fall Google misbraucht):
Delphi-Quellcode:
Und (oh Wunder :stupid: ) Google antwortet. :thumb: Nur leider irgentwie komisch, ss sieht schon aus wie ein http-header, aber kommt mehrfach an.
procedure TForm1.Button1Click(Sender: TObject);
begin if client.Connect then begin //etwas nutzlos if client.Connected then Memo1.Lines.Add('Connected') else Memo1.Lines.Add('Disconnected.'); Client.Sendln('HEAD /index.html HTTP/1.1'); Client.Sendln('Host: www.google.de'); Client.Sendln(''); //einfach dreimal lesen Client.Receiveln; Client.Receiveln; Client.Receiveln; end; end; procedure TForm1.clientReceive(Sender: TObject; Buf: PAnsiChar; var DataLen: Integer); begin //leerzeile Memo1.Lines.Add(''); //Und schreiben was in Buf steht Memo1.Lines.Add(String(Buf)); end; ![]() Ich nehme mal an, dass meine Verwendung von receiveln nicht artgerecht ist. Falls nichts mehr vom Server gesendet wird lockt es auch das ganze Programm, was sehr unschön ist. Kann mich jemand aufklären, was ich falsch mache (ich gehe mal davon aus, dass Google keinen Müll sendet :) )? Danke schonmal, Roman |
Re: Receiveln vom TCPClient
Ist zwar schon ein bisschen länger her, dass ich was mit dem TCP-Client gemacht habe, aber ich meine mich zu erinnern, dass man Client.Receiveln; nicht braucht, sondern dass das Ereignis von selbst aufgerufen wird. Außerdem wird das Ereignis mehrfach aufgerufen, immer mit einem Teil der Antwort.
|
Re: Receiveln vom TCPClient
Danke für deine Antwort, aber ohne receiveln kommt nichts an, leider.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 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