Fórum Verificar se existe conexão com a internet pelo Delphi 7 #410150
03/12/2011
0
Bom agora vamos ao problema, eu estou fazendo um programa em Delphi 7, que precisara acessar a internet para baixar um arquivo de validação para poder ser usado. É a primeira vez que faço isso, então andei pesquisando sobre isso. Eu vi que existem várias funções para fazer isso, porem, todas tem alguma falha em algum momento, exemplo, se desconecto e faço a verificação ele acusa que ainda estou conectado. Então suponhamos que o usuário se conecta na internet e por alguma razão perde essa conexão, ai se ele for usar o programa, e a verificação retornar que está conectado sem que realmente esteja, isso vai bugar maus programa mais a frente. O que eu preciso é que, seja verificado se existe mesmo ou não existe conexão com a internet, e que tipo de conexão é essa.
Tentei até fazer diretamente por um componente da paleta Indy Client, diretamente pela propriedade Host dele, se tiver conexão beleza, porem se não tiver ele gera esse erro abaixo que eu não sei como resolver.
socket error # 11101 host not found
Bom galera desde já agradeço se alguém puder me ajudar ok.
Carlos Catanduva
Curtir tópico
+ 0Post mais votado
06/12/2011
Mais eu pesquisando no Google acho que encontrei uma solução para o meu problema. Encontrei um exemplo no site do Active Delphi (o link que está abaixo), e até agora parece que ele funciona perfeitamente.
Quando liguei o computador eu testei antes de me conectar na internet, e me retornou corretamente que não estava conectado. Depois me conectei e testei, e retornou que estava conectado, ai me desconectei e testei novamente, e corretamente deu que estava desconectado. Se puder olhar e me dizer o que acha eu agradeço.
Estou chamando a unit assim: conexao:=Unit2.ping(1000, www.google.com.br, 80); (conexao = variável do tipo Integer)
OBS: Quais outros valores eu poderia colocar como valor para o último parâmetro da chamada (porta)?
Obrigado Flavia pela ajuda.
http://www.activedelphi.com.br/forum/viewtopic.php?p=218592&sid=19423ef676434751088f5a866f14e718
Carlos Catanduva
Gostei + 1
Mais Posts
04/12/2011
Carlos Catanduva
Eu liguei o computador e antes mesmo de se conectar na internet eu foi testar essas funções, e pra minha surpresa elas retornaram que estava conectado mesmo antes de eu ter me conectado.
Bom eu espero que alguém possa me ajudar. Obrigado a todos desde já.
Gostei + 0
05/12/2011
Flavia Santos
Bom agora vamos ao problema, eu estou fazendo um programa em Delphi 7, que precisara acessar a internet para baixar um arquivo de validação para poder ser usado. É a primeira vez que faço isso, então andei pesquisando sobre isso. Eu vi que existem várias funções para fazer isso, porem, todas tem alguma falha em algum momento, exemplo, se desconecto e faço a verificação ele acusa que ainda estou conectado. Então suponhamos que o usuário se conecta na internet e por alguma razão perde essa conexão, ai se ele for usar o programa, e a verificação retornar que está conectado sem que realmente esteja, isso vai bugar maus programa mais a frente. O que eu preciso é que, seja verificado se existe mesmo ou não existe conexão com a internet, e que tipo de conexão é essa.
Tentei até fazer diretamente por um componente da paleta Indy Client, diretamente pela propriedade Host dele, se tiver conexão beleza, porem se não tiver ele gera esse erro abaixo que eu não sei como resolver.
socket error # 11101 host not found
Bom galera desde já agradeço se alguém puder me ajudar ok.
Já tentou pingar um host externo?
Você usaria um componente IdIcmpClient (Paleta Indy), onde definiria o seu host, exemplo:
MeuIdCMP.Host := www.google.com.br;
MeuIdCMP.Ping();
Depois você pega o resultado do ping assim:
var ConexaoAtiva: String;
ConexaoAtiva := MeuIdCMP.ReplyData;
Não estou com o Delphi instalado aqui nessa máquina, então não deu para testar.
Se der algum erro posta ai que te ajudo a verificar.
Acredito que essa seja a maneira mais segura de você descobrir de a sua máquina está ou não conectada na Internet.
Gostei + 0
15/09/2017
Rosilene Back
http://www.activedelphi.com.br/forum/viewtopic.php?p=218592&sid=19423ef676434751088f5a866f14e718
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)