Timout

Timout - PHP - Programmation

Marsh Posté le 08-08-2005 à 13:48:40    

Bonjour,  
 
Cela fait bien longtemps que j'essaye de faire un "timout" en PHP. Je m'explique :
J'ai un pc qui fournit les données de ma station météo à un autre serveur (web). Cependant j'aimerais bien qu'en cas de panne (connexion, crash, ...) le serveur web n'attende pas comme un c** les données qui ne viendront jamais (et donc la page ne s'affiche pas).
 
J'ai essayé plein de truc mais ca ne marche pas.
Est-ce que quelqu'un est capable de me donner un bout de code qui marche ? Y en a plein sur le net, mais ca ne fait jamais l'affaire à 100% malheureusement.
 
Exemple :
 

Code :
  1. <?php
  2. @$fp = fsockopen("www.monsite.com", 80); //Hote alive ?
  3. if (!$fp) {
  4.    echo "M&eacute;t&eacute;o indisponible\n"; //Si non, alors erreur
  5. }
  6. else {
  7.    $myFile=file_get_contents('http://www.monsite.com/meteo/meteo2.php');


 
Ce code ne marche que si le pc n'a plus d'ip. Par contre en cas de crash du PC et non pas du modem (ethernet) ca ne marche plus.

Reply

Marsh Posté le 08-08-2005 à 13:48:40   

Reply

Marsh Posté le 08-08-2005 à 13:53:48    

et si tu fais un readfile('http://www.monsite.com/meteo/meteo2.php') et que tu look le contenu et que si tu ne trouve pas la valeur, tu n'essaye pas de prendre son contenu

Reply

Marsh Posté le 08-08-2005 à 13:56:52    

gatsusat a écrit :

et si tu fais un readfile('http://www.monsite.com/meteo/meteo2.php') et que tu look le contenu et que si tu ne trouve pas la valeur, tu n'essaye pas de prendre son contenu


 
ce qui se traduit plus précisemment par quoi.... (désolé, mais j'en ai tellement marre que je prends tout ce qui est possible)

Reply

Marsh Posté le 08-08-2005 à 14:04:14    

Ben il t'a expliqué, tu fais un readfile du script, et tu lis les premiers caractères pour vérifier que c'est bien le fichier.  
 
Si ca na correspond pas, c'est que la page n'a pas été trouvée, tu n'effectues donc pas le file_gets_content et toute la suite ....


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 08-08-2005 à 14:09:09    

Et c'est pas mieux comme ca ?

Code :
  1. <?php
  2. ;
  3. if ($fp = @fsockopen("tcp://www.monsite.fr", 80))
  4. {
  5.    echo "OK !";
  6.    fclose($fp);
  7. }
  8. else
  9. {
  10.    echo "C'est pas bon !!";
  11. }
  12. ?>

Reply

Marsh Posté le 08-08-2005 à 14:17:30    

resource fsockopen ( string target [, int port [, int &errno [, string &errstr [, float timeout]]]] )
 
C'est pas bon ça  :heink: ?
 
edit: et de manière général: http://fr.php.net/function.fsockopen


Message édité par pascal_ le 08-08-2005 à 14:19:16
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed