Bonjour,
Voilà j'utilise delphi 7 avec indy 10 et j'ai un petit soucis:
J'essaye de me connecter à un pc pour acceder a un service sur un port donnée or ce port n'est pas toujours utilisé par se service HTTP ou le serveur est éteint alors je me retourver avec un idHTTP1.GET tres tres long, je ne sais pas comment mettre un timeout au get.
J'avai utilisé un idHTTP1.connect(300) au début pour voir si l'host était toujours en vie mais le problème d'un service autre que web provoquait quand meme un freeze en attendant qu'indy génère au bout d'un temps X une exception car le serveur hôte nous avais déconnecté.
J'ai éssayé de faire un timer et passer cet erreur en faisant
mais ca ne change strictement rien j'ai aussi essayé la propriété close à la fin de mon timer ... enfin le résultat est pas terrible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 procedure TForm1.Timer1Timer(Sender: TObject); begin ShowMessage('Timeout'); Form1.IdHTTP1.RaiseExceptionForLastCmdResult; end; procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Integer); begin Timer1.Enabled := True; end; procedure TForm1.IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode); begin Timer1.Enabled := False; end;
Si qqn a une idée je le remerci beaucoup
Partager