Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

alves077

[Dúvida] Estado do servidor

Mensagens Recomendadas

alves077

Boas,

Tenho um script para ver se o servidor está em baixo ou não, só que ele dá-me sempre que esta em baixo, já experimentei por outros sites mas nada..

function statWeb($site, $port){
$fp = @fsockopen($site, $port, $errno, $errstr, 2);
return (!$fp)
}
Depois chamo a função:

por exemplo,

$status_server=starweb("http://www.sapo.pt/",80);
Ele retorna sempre false, já experimentei com outros dominios e nada, se colocar o local 127.0.0.1 dá. Tenho alguma ideia errada na função, posso fazer assim?

Edit: ups.. mistura de versoes..

Obrigado pela atenção,

alves077

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alves077

Realmente o curl parece melhor, percebi a ideia, agora a implementação, as vezes parece offline, e dá bem, outras retorna 302 mesmo estando em baixo, mas não sei até que ponto não será problema do serivdor, vou continuar analisar...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o código 302 é normal "aparecer" quando estás a receber a resposta de uma cache qualquer a dizer que não ouve alteração, logo deverás usar a informação que te dá ou que tens na cache do próprio browser.

para mais informação sobre esses números : http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alves077

Hm... não sabia...

Então, sendo assim, como consigo saber se esta abaixo, se ele vai semrpe buscar o que esta em cache do browser, existe a possibilidade de limpar o que está em cache e fazer a conexão de novo? Porque assim ele vai sempre buscar a 1º ligação que fez, digo eu...

Isto é, imaginando que o servidor está on, e ele retorna 302 sempre, como consigo com o 302 se esta em baixo ou não?

Obrigado pela atenção,

alves077

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o problema não é a cache do teu browser, mas sim a cache dos routers/gateways/proxy's

e nisso não podes mexer, pois não :D

a maneira mais simples de resolver o teu problema é ter um script no servidor ao qual ditas que não deverá ser guardado em cache e/ou que o tempo de "expiração" dos elementos em cache é 0

em php seria deste género:

<?php
header('Expires: '.gmdate('D, d M Y H:i:s').'GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
?>

agora, sempre que pedires um pedido a este script, sabes que nos cabeçalhos HTTP irá informação que não deverá ser guardado em cache pelos routes/gateways/proxy's

agora é só fazer a verificação a este script ...


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.