Calcul du timeout client

cs_callman
Messages postés
12
Date d'inscription
jeudi 27 mars 2003
Statut
Membre
Dernière intervention
18 décembre 2006
- 12 déc. 2006 à 17:57
cs_callman
Messages postés
12
Date d'inscription
jeudi 27 mars 2003
Statut
Membre
Dernière intervention
18 décembre 2006
- 18 déc. 2006 à 10:33
Bonjour à tous,

Voila, j'ai un problème avec un soft sur un timeout.

En fait, des clients se connectent à un site pour obtenir des états.
Beaucoup d'entre eux obtiennent des timeout sur la récupération de ces même états.

Ma question : Existe-il un moyen de calculer le timeout d'un 'client' - de son proxy ..??
(Genre les clients vont sur une page (qui fera une opération quelconque) et dès qu'ils sont en "timeout" ... ça inscrit la valeur trouvée ds une base ou un autre support).
J'ai fait pas mal de recherche sur ce sujet, mais pas de réponse.

Si quelqu'un en a une, ça me rendrait pas mal service.

Merci d'avance.
____________
Callman

5 réponses

malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
13 déc. 2006 à 08:28
Hello,

je ne comprends pas bien ton bin's. Un timeout se situe généralement au niveau du serveur, pas du client, à moins que ce ne soit la connection du client qui saute...auquel cas, sans connection, difficile de prévenir le client, hein ?

Le mec se connecte sur un site pour récupérer un état...j'imagine que c'est un état extrait d'une grosse bdd. Un timeout là-dessus, c'est plus vraissemblablement les traitements liés aux requêtes qui sont trop longs. Faut trifouiller le serveur. (tu ne dis pas si c'est du php ou pas, si ce site, c'est ton site ou non, etc...donc difficile de t'en dire plus).
0
cs_callman
Messages postés
12
Date d'inscription
jeudi 27 mars 2003
Statut
Membre
Dernière intervention
18 décembre 2006

13 déc. 2006 à 10:52
Re ;)

Voila, je vais tenter d'être plus précis.
Déjà, j'ai posté ce message ici car si c possible, j'aimerai créer une page (en php ;)).qui me permette de récupérer le timeout 'des proxy' (ds les grosses boites, ya svt des proxy avec un timeout de connection) des clients.

Situation :
Une appli web qui tourne sur nos serveurs et qui permet de sortir des états.
Les clients qui se connectent (via interface web) pour récupérer ces états sont confrontés à des messages d'erreurs (timeout entre autre).
Nos timeout étant réglé (sur iis) à 1h30 ... l'attente de nos clients étant inférieurs à 1h30 .. on est a même de penser que la connection est coupé par leur proxy.

Mon but est donc de faire aller les clients sur une page qui va tester leur timeout (et c'est la que j'ai besoin d'aide) et ainsi leur prouver que la coupure de connection ne vient pas de chez nous.

Merci.
____________
Callman
0
malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
13 déc. 2006 à 12:42
Je te conseille alors plutôt de vérifier que la connection est toujours active...et peut-être de poursuivre quand même le traitement si elle ne l'est plus.
Si si, c'est possible.
http://fr.php.net/manual/fr/features.connection-handling.php
http://fr.php.net/manual/fr/function.connection-aborted.php
http://fr.php.net/manual/fr/function.ignore-user-abort.php
0
cs_callman
Messages postés
12
Date d'inscription
jeudi 27 mars 2003
Statut
Membre
Dernière intervention
18 décembre 2006

13 déc. 2006 à 15:38
Ok, je vais faire des tests avec les fonctions que tu m'as donné.

Merci pour ces infos, je reviens 'accepter la reponse' si c'est la solution à mon problème

____________
Callman
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_callman
Messages postés
12
Date d'inscription
jeudi 27 mars 2003
Statut
Membre
Dernière intervention
18 décembre 2006

18 déc. 2006 à 10:33
Bon, j'ai testé quelques script.

Certain marche en local, mais difficile de tester en local un timeout !
Voici un exemple de script que j'ai trouvé :
ignore_user_abort(true);
while (true) {
    echo "test
\n";
    flush();
    sleep(2);
    if (connection_status()!=0){
        $tmpfin = time() - $tmp1;
        $tmpmin = $tmpfin / 60;
        $tmpfin = $tmpfin % 60;        $messretour affdate(time()).'> temps de session: '.$tmpmin.' min/'.$tmpfin.' sec --- '.connection_status();
        mail("monmailpourcontrol@blabla.fr", "objet bidon ... test status", "Test timeout de session\n".$messretour);
        die(); //fin du script
    }
}


Ca marche pas terrible ... sur un autre serveur que localhost ... le mail ne part pas.
____________
Callman
0