IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Indy et les timeouts


Sujet :

Web & réseau Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Indy et les timeouts
    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

    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;
    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

    Si qqn a une idée je le remerci beaucoup

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 49
    Points : 42
    Points
    42
    Par défaut
    Bonsoir,

    As-tu essayé de faire tourner ton service en local ? (sur le même poste que ton client). Si ça ne fonctionne pas, tu as sans doute un pb dans ton code, sinon tu peux avoir un pb réseau.
    Nul homme ne se baigne deux fois dans le même fleuve car, la seconde fois, ce n'est plus le même fleuve et ce n'est plus le même homme. (Héraclite)

Discussions similaires

  1. [Indy] Vider les messages reçus
    Par bib34690 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 27/01/2008, 15h24
  2. Indy Terminate Thread Timeout
    Par FredKaes dans le forum Web & réseau
    Réponses: 3
    Dernier message: 16/10/2007, 10h52
  3. [Indy] Gérer les déconnexions d'internet
    Par Gaadek dans le forum Delphi
    Réponses: 2
    Dernier message: 26/01/2007, 23h00
  4. indy et les cookies
    Par clucky dans le forum Delphi
    Réponses: 3
    Dernier message: 05/10/2006, 09h48
  5. [Indy] Intercepter les messages coté client
    Par PpPool dans le forum Web & réseau
    Réponses: 6
    Dernier message: 04/07/2005, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo