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

 Delphi Discussion :

Composant IdHTTPServer et SessionTimeOut


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut Composant IdHTTPServer et SessionTimeOut
    Bonjour à toutes et à tous,

    Sur une fiche j'ai placé un composant IdHTTPServer et un historique des évènements qui transcrit les photos de ma caméra prise pendant mon absence.

    J'ai constaté dans l'historique que ma fiche se déconnecte au bout d'un certain temps puis se reconnecte.

    Faut-il préciser quelque chose avec ce composant dès qu'il est en connexion pour qu'il ne se déconnecte que si je clique sur un Tbutton ?

    Merci d'avance,

    @+,

    Cincap

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Et la question ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Je crois que c'est la phrase précédant un point d'interrogation...

    [tourlourou EDIT = '?' ajouté par mes soins pour mieux marquer la question]

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Citation Envoyé par GoustiFruit Voir le message
    Je crois que c'est la phrase précédant un point d'interrogation...
    je n'ai pas l'impression d'avoir lu ça ce matin !
    C'est ça deux faire plusieurs choses à la fois !
    [tourlourou EDIT = '?' ajouté par mes soins, après ta remarque, pour mieux marquer la question : tu n'es pas complètement ]

    Citation Envoyé par cincap Voir le message
    Faut-il préciser quelque chose avec ce composant dès qu'il est en connexion pour qu'il ne se déconnecte que si je clique sur un Tbutton ?
    la propriété Active permet d'ouvrir et fermer la connexion
    Si tu force SessionTimeout à zéro, c'est infini
    As-tu pensé que cela pouvait être aussi le client qui se déconnecte ?
    Ou même un timeout lié au TCP\IP
    Par exemple IE6 son propre timeout comme client c'était 30minutes, depuis IE7, c'est 30secondes et cela change tous les paramètres par défaut de la couche net de l'OS au passage !

    Citation Envoyé par cincap Voir le message
    J'ai constaté dans l'historique que ma fiche ce déconnecte au bout d'un certain temps puis se reconnecte.
    Ta fiche se déconnecte ??
    Quelle fiche, un client connecté sur le TidHttpServer ?
    Comment sais-tu que c'est déconnecté ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    Bonjour à toutes et à tous,

    @ ShaiLeTroll, merci de ta réponse, en fait avec un Ttimer, je vérifie si l'Ip publique change par rapport à l'ancienne et donc le module doit être connecté manuellement.

    SessionTimeOut est à 60000.

    En même temps suivant une fréquence, le module permet de prendre des photos de la caméra.

    Dans mon historique, je vérifie l'heure de la prise de la photo et si l'Ip publique à changée et c'est dans cet historique que je constate qu'au bout d'un temps "Déconnecté" d'où ma question.

    Ou même un timeout lié au TCP\IP
    Cela pourrait être cela car de suite il se reconnecte.

    @+,

    Cincap

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Citation Envoyé par cincap Voir le message
    @ ShaiLeTroll, merci de ta réponse, en fait avec un Ttimer, je vérifie si l'Ip publique change par rapport à l'ancienne et donc le module doit être connecté manuellement.
    Ah, ok, déjà tu as une problématique d'IP volatile !
    Je n'ai jamais exploré cette piste ayant toujours eu un serveur à IP Fixe (souvent en LAN pour un HTTP genre Intranet)
    Donc tente la séquence pour rallumer le Serveur (si c'est bien lui qui s'arrête) et non pas juste la connection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Server.Active := False;
    Server.Active := True;

    Citation Envoyé par cincap Voir le message
    @ SessionTimeOut est à 60000
    Si je me trompe pas cela ne concerne que les clients, si ils n'ont pas d'activité, ils sont déconnectés au bout de ce délai
    Par contre le Server lui reste toujours en LISTEN !

    Ne confonds pas les connexion de N clients et le Listen de serveur
    Pour chaque client, le serveur aura une socket TCP\IP ouverte (en HTTP, je ne connais pas bien le fonctionnement et la durée de vie de la socket TCP\IP mais c'est globalement l'idée où se rajoute une notion de Request\Response)
    En parallèle, le serveur a un thread qui écoute les nouvelles connections et génère les sockets (en HTTP, tu dois prévoir d'avoir un tas de client, donc par exemple plusieurs caméras)


    En fait, je ne vois pas en quoi cela peut perturber ton serveur que l'IP publique change
    Cela impacte Windows et sa couche réseau ? je n'en sais rien !
    Si son IP publique change, c'est au routeur de faire le boulot entre IP publique et IP locale
    Par contre, si tu accède via un truc genre DynDNS pour avoir une URL et non une IP x.x.x.x depuis la caméra, il faut peut-être du temps pour propager la nouvelle IP dans les DNS


    Ton historique est-il côté Caméra ou côté Serveur ?
    Qui est déconnecté la Caméra ou le Serveur (plutôt l'un des sockets du serveur) ?






    [tourlourou EDIT = '?' ajouté par mes soins, après ta remarque, pour mieux marquer la question : tu n'es pas complètement ]
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    @ ShaiLeTroll, en Belgique, le provider principal soit Belgacom change l'Ip publique toutes les 36H du routeur (par sécurité), j'ai fixé l'Ip locale de mon Pc donc j'ai fait une règle dans mon modem pour permettre de vérifier le contenu de mes caméras depuis l'extérieur sans utiliser une Ip fixe chez un fournisseur qui la propose gratuitement.

    La déconnexion ne dure que quelque seconde donc pas trop gênante pour l'utilisation que j'en fait.

    L'historique se fait du côté caméra et c'est bien l'un des sockets du serveur mais qui se reconnecte aussitôt.

    Je pense que l'on peut clôturer ce topic.

    @+,

    Cincap

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/06/2002, 00h15
  2. Existe t'il un composant permettant de jouer un son wav?
    Par scorpiwolf dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/06/2002, 14h10
  3. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/2002, 16h10
  4. Installer ses composants
    Par Geronimo dans le forum C++Builder
    Réponses: 14
    Dernier message: 18/06/2002, 14h51
  5. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 16h35

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