Testar conexão com a Internet
Qual a melhor forma de testar, via Delphi, se a máquina tem conexão com a internet? e se um host está ativo?
Grato!
Grato!
José Aguiar
Curtidas 0
Respostas
Rodrigo Mourão
20/03/2010
Olá,
De uses na unit
WinInet
Depois utilize o seguinte código:
var i:dword;
begin
if InternetGetConnectedState(@i,0) then
showmessage('esta conectado')
else
showmessage('nun ta não');
end;
Agora o que seria verificar um host ativo ??
Att,
Depois utilize o seguinte código:
var i:dword;
begin
if InternetGetConnectedState(@i,0) then
showmessage('esta conectado')
else
showmessage('nun ta não');
end;
Agora o que seria verificar um host ativo ??
Att,
GOSTEI 0
José Aguiar
20/03/2010
seguinte verificar se um host está ativo é verificar se um serviço rodando em uma máquina remota está respondendo.
tipo: ping http://MyWebServices.no-ip.org/cgi-bi/server.exe
e ver se ele responde. Se sim eu solicitaria acesso.
tipo: ping http://MyWebServices.no-ip.org/cgi-bi/server.exe
e ver se ele responde. Se sim eu solicitaria acesso.
GOSTEI 0
Rodrigo Mourão
20/03/2010
Geralmente os serviços web possuem um metodo para verificar o status como por exemplo os WebServices da NFe. Agora se eu serviço nao tem um metodo deste entao teria que verifacar outra forma.
Vou verificar se há viabilidade nativa para isso no delphi. creio que sim.
Att,
Vou verificar se há viabilidade nativa para isso no delphi. creio que sim.
Att,
GOSTEI 0
Rodrigo Mourão
20/03/2010
Olá Jose,
Bem analisando e realizando alguns testes cheguei a conclusão que a maneira mais correta e segura seria o servidor http://MyWebServices.no-ip.org/cgi-bi/server.exe ter um método status.
Isso porque você pode ate dar um ping em ping http://MyWebServices.no-ip.org/cgi-bi e responder com sucesso sem erro mas isso não significa que a aplicação esta no ar mas sim que o servidor onde a aplicação esta hospedada esta no ar.
Então, caso não tenha o service poderia fazer um Try Except, Ex.:
try
chamar método em http://MyWebServices.no-ip.org/cgi-bi/server.exe
except
Msg Servidor Fora do Ar.
end;
O problema que para fazer isso você terá que chamar um método e se o servidor estiver no ar o método vai ser executado. Então imagina executar um método que não poderia ser executado só para testar o servidor.
Por isso o ideal e o servidor ter um método que retorno o status do serviço.
Se puder ajudar em algo mais estamos a disposição.
att,
Bem analisando e realizando alguns testes cheguei a conclusão que a maneira mais correta e segura seria o servidor http://MyWebServices.no-ip.org/cgi-bi/server.exe ter um método status.
Isso porque você pode ate dar um ping em ping http://MyWebServices.no-ip.org/cgi-bi e responder com sucesso sem erro mas isso não significa que a aplicação esta no ar mas sim que o servidor onde a aplicação esta hospedada esta no ar.
Então, caso não tenha o service poderia fazer um Try Except, Ex.:
try
chamar método em http://MyWebServices.no-ip.org/cgi-bi/server.exe
except
Msg Servidor Fora do Ar.
end;
O problema que para fazer isso você terá que chamar um método e se o servidor estiver no ar o método vai ser executado. Então imagina executar um método que não poderia ser executado só para testar o servidor.
Por isso o ideal e o servidor ter um método que retorno o status do serviço.
Se puder ajudar em algo mais estamos a disposição.
att,
GOSTEI 0