PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 11-07-2011 13:34:10

moijhd
Membre
Inscription : 13-06-2009
Messages : 167

Ping d'une adresse

Bonjour,

Je pense que mon titre ne veut rien dire : je l'explique.

Dans le cadre d'une application professionnelle, je loggue un utilisateur à l'aide d'un file :
[code php]
<?php
if(file("http://141.9.3.42/cgi-bin/page.cgi?login=azerty&pass=azerty")){
// Je suis identifié
}
else{
// Echec de l'identification
}
?>
[/code]

D'abord, peut-être y a-t-il une alternative au file mais j'ai été obligé de l'utiliser, je n'ai rien trouvé d'autre.
Ensuite, si jamais la page est hors ligne...ça plante. Ce n'est pas forcément que ça plante, mais je voudrais me faire jeter par exemple au bout de quelques secondes (une dizaine).

Quelles méthodes puis-je trouver pour tester la disponibilité de http://141.9.3.42/ (periphérique local, directement connecté au PC par Ethernet).

Merci !

PS : le script sort lors que le temps maximum d'exécution est atteint. "Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement au-delà d'une certaine durée ou une connexion établie a échoué car l'hôte de connexion n'a pas répondu.".

J'ai également regardé du côté de fsockopen() et de socket_create() mais pour le coup, je n'ai pas les connaissances suffisantes pour tout comprendre...et je ne sais pas si c'est correct !

Dernière modification par moijhd (11-07-2011 13:39:12)

Hors ligne

#2 11-07-2011 13:49:47

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Ping d'une adresse

tu fais un fopen tout simplement wink
a++

Hors ligne

#3 11-07-2011 14:16:35

moijhd
Membre
Inscription : 13-06-2009
Messages : 167

Re : Ping d'une adresse

J'ai la même erreur. Et je crois même que ça ne fonctionne pas (quand ça devrait) : la session n'est pas créée sur le serveur distant. Du coup, ca fait deux problèmes ?

En fait, je voudrais faire un test avant l'ouverture (bien qu'ici on le fasse en ouvrant).

Dernière modification par moijhd (11-07-2011 14:18:42)

Hors ligne

#4 11-07-2011 15:09:18

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Ping d'une adresse

Bonjour,

Un petit commentaire si vous le permettez.
1) Le problème de disponibilité d'une connexion c'est l'inconvénient d'une appli en ligne et cela, tu devras t'en accommoder, ou alors dev une appli winform ou wpf en exe si c'est essentiel au CDC de ton entreprise.
2) Ton système de fichier est sympa (le concept ainsi fait ne m'avait pas effleuré l'esprit), mais il implique d'autres contraintes conséquentes : la concurrence des accès au fichier et des connexions simultanées gérées par le serveur à son système de fichiers.
3) Un standard est un standard, et on doit respecter la façon dont il est prévu qu'il soit utilisé. Après y en a qui ont essayé, mais ils ont eu des problèmes... wink
4) Suite au 3e, il te faut commencer par démarrer une session PHP avant de faire autre chose (comme démarrer ta session application par ex) pour arriver à tes fins.

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#5 11-07-2011 18:01:53

moijhd
Membre
Inscription : 13-06-2009
Messages : 167

Re : Ping d'une adresse

Soit je n'ai pas été clair, soit je n'ai pas compris ^^

J'essaie de me connecter à un système sur lequel je n'ai pas de contrôle. Je peux me connecter à ce système en envoyant les paramètres par URL. Sauf que je ne sais pas si le système est effectivement connecté.

1. L'application est se joue sur un PC local. Le système auquel je veux me connecter embarque un WebServeur. (Et j'ai pas compris le reste, je peux développer en autre chose (passage par la fonction exec ?)).
2. On ne se pose pas ce problème.
3. Euh, je dois le faire big_smile
4. Cf 1. Pas possible.

Hors ligne

#6 11-07-2011 19:57:44

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Ping d'une adresse

Bonsoir,

Pour te rassurer, on avait pas bien compris^^.
Pour te connecter via URL à un serveur tiers, utilise la bibliothèque PHP cURL.

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#7 12-07-2011 06:31:47

moijhd
Membre
Inscription : 13-06-2009
Messages : 167

Re : Ping d'une adresse

Il n'y a pas quelque chose de "plus simple" juste pour savoir si l'hote est disponible (étant donné que mon file() fonctionne) ?

Hors ligne

#8 18-07-2011 10:40:52

moijhd
Membre
Inscription : 13-06-2009
Messages : 167

Re : Ping d'une adresse

J'ai continué à chercher.

Je passe par une commande sous Windows (normalement, le programme ne sera disponible que pour Windows) :

[code php]
<?php
exec("ping -n 1 $ip", $output[], $result);
?>
[/code]

$result vaut 1 lorsque l'IP est indisponible, 0 sinon.

Ca vous semble correct ?

Hors ligne

Pied de page des forums