Jump to content

Ping PHP


dguimaraes
Go to solution Solved by apocsantos,

Recommended Posts

Boa noite,

Se apenas queres ver se o host responde, podes tentar ligar a um porto que saibas que estará aberto, caso estabeleça connecção faz algo, caso não estabeleça faz outra tarefa.

$host = '192.168.2.254'; //ip do host
$port = 8080; //porta
$Timeout = 1; //timeout  
if($fp = fsockopen($host,$port,$errCode,$errStr,Timeout))
{  
  echo "respondeu";
} else
{
  echo "nao respondeu"; 
}  
fclose($fp); //fecha

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other sites

Boas!

apocsantos obrigado pela dica 🙂 era isso só não percebo uma cena, por exemplo na condição $fp, para que objectivo se adiciona a variável $errCode e $errStr? Desculpem a ignorancia mas gosto de saber o que faz cada uma das linhas eu sei que já existem rodas inventadas mas para saber como elas rodam gosto de saber o que executa cada linha.

Abraço

Link to comment
Share on other sites

  • Solution

Boa tarde,

Certo! Isto testa apenas se um host aceita conecções numa determinada porta e não uma implementação do ICMP Echo Request.

Normalmente a porta 80 terá resposta nos servidores web, mas não em todos os hosts. Se queres mesmo um ICMP Echo Request, podes (caso o host permita), usar a função exec e o ping do sistema operativo.

<?php
function pingaMasNaoChove($ip)
{
     $resultado = exec("/bin/ping -n 4 $ip", $rsp, $estado);
  if (0 == $estado)
  {
    $estado = "vivo";
   } else
 {
    $estado = "morto";
   }
   echo .$status;
}

Para usar basta chamar a função com um endereço

pingaMasNaoChove("192.168.2.254");

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.