Voilà je voudrai simplement utiliser TTcpClient pour me connecter sur
un serveur HTTP. J'arrive bien a me connecter, mais (evidemment il y a
un mais), je ne reçois pas les données en retour, malgres que les logs
apache montre bien que j'ai reussi a envoyer un packet... Pas de
firewall en vue (de toute façon il m'aurait interdit l'envoi sinon),
j'ai donc besoin d'aide car je ne comprend pas!
Voilà mon code:
procedure TForm1.OnReceive(Sender: TObject; Buf: pchar; var DataLen: Integer);
var S:PChar;
begin
Memo1.Text:=Memo1.Text + Buf;
//La procedure n'est jamais appelée... :-(
end;
procedure TForm1.OnConnect(Sender: TObject);
var
C:Pchar;
begin
if not TcpClient1.Active then
exit;
TcpClient1.Sendln('GET / HTTP/1.0');
//Tout ça marche! Code 200 sur apache!
end;
procedure TForm1.OnError(Sender:TObject; Error:Integer);
begin
Memo1.Text:=IntToStr(Error);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
TcpClient1.OnConnect:=OnConnect;
TcpClient1.OnReceive:=OnReceive;
TcpClient1.OnError:=OnError;
Memo1.Clear;
TcpClient1.RemoteHost:='127.0.0.1';
TcpClient1.RemotePort:='80';
TcpClient1.Open;
end;
Merci pour votre aide, car la sa commence
a me brouter, j'ai matté tout les code posté à ce sujet mais je n'ai
pas trouvé mon bonheur :-/