Você está offline; aguardando reconexão

Como para detectar se você tiver uma conexão com a Internet

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 242558
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Sumário
Muitos de vocês desejam saber se um computador tem uma conexão ativa com a Internet antes de tentar se conectar à Internet usando a API do WinInet ou alguma outra interface de comunicação. A conexão de internet é importante se você não quiser que seu aplicativo para que o Windows para discar automaticamente a conexão de modem de Internet padrão.

Este artigo fornece um mecanismo para determinar se um site é acessível sem o risco de você ser solicitado para discar para outro provedor.
Mais Informações
Normalmente a melhor maneira para determinar se você tem uma conexão com um determinado computador é tentar a conexão. Se o recurso discagem automática do Windows estiver habilitado, em seguida, tentar a conexão pode causar o conectóide de dial-up de Internet padrão a ser aberto e você será solicitado com suas credenciais para conectar-se.

Para evitar o conectóide de Internet padrão discado, a função InternetGetConnectedState pode ser usada para determinar se há um conectóide de dial-up de Internet padrão configurado e se ele está ativo no momento ou não. Se houver um padrão Internet dial-up conectóide configurado e não está ativo no momento, em seguida, InternetGetConnectedState retornará FALSO. Se InternetGetConnectedState retorna verdadeiro, em seguida, você pode tentar se conectar ao recurso Internet sem medo de ser solicitado a se conectar a outro provedor.

O código a seguir demonstra como você faria isso:
if (InternetGetConnectedState(...) == FALSE){    // Don't attempt connection or it will bring up the dialog    ...}else{    //Attempt connection    if (InternetOpenURL(...) == NULL)    {        // Call failed        err = GetLastError();        if ((err == ERROR_INTERNET_NAME_NOT_RESOLVED) ||            (err == ERROR_INTERNET_CANNOT_CONNECT) ||            (err == ERROR_INTERNET_TIMEOUT))        {            // probably not connected...handle appropriately            ...        }    }    // We're connected!!!    ....}				

Você não pode depender exclusivamente o fato de que InternetGetConnectedState retornar TRUE significa que uma conexão válida ativa com a Internet. É impossível para InternetGetConnectedState determinar se a conexão inteira com a Internet está funcionando sem enviar uma solicitação para um servidor. É por isso que você precise enviar uma solicitação para determinar se você estiver realmente conectado ou não. Você pode ter certeza Entretanto que se InternetGetConnectedState retorna TRUE, que sua conexão com a tentativa não causará a ser solicitado a se conectar ao provedor padrão.

Esteja ciente de que InternetGetConnectedState somente reporta o status do conectóide de Internet padrão no Internet Explorer 4. x . Se estiver conectado a um conectóide não padrão, InternetGetConnectedState sempre retornará FALSO (a menos que uma conexão de rede local é usada). Com o Internet Explorer 4. x configurado para usar uma conexão de rede local, InternetGetCo nectedState sempre retorna verdadeiro.

Internet Explorer 5 se comporta de forma diferente. Se você atualmente é discados em uma diferente dial-up no Internet Explorer 5, InternetGetConnectedState relata status da conexão dial-up desde que qualquer conectóide é discado ou existe uma conexão de rede local ativa.

Há algumas outras maneiras para tentar determinar se você tem no momento uma conexão com um recurso de rede específico. A função IsDestinationReachable() pode ser usada para descobrir se há uma conexão atual para um endereço. No entanto, ele IsDestinationReachable() função é apenas preocupado com se o endereço IP é acessível do computador. Ele não funciona por meio de proxies HTTP ou firewalls que restringir ICMP pacotes de ping.

Também é possível usar RasEnumConnections para aprimorar seu código para que você saberá se houver uma conexão dial-up ativa que possa ter acesso à Internet, embora não seja o conectóide de dial-up de Internet padrão.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 242558 - Última Revisão: 07/01/2004 17:41:57 - Revisão: 1.1

Microsoft Internet Explorer 4.0 Edição de 128 Bits, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 4.01 Service Pack 1, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 5.0

  • kbmt kbfaq kbhowto KB242558 KbMtpt
Comentários
d"; document.getElementsByTagName("head")[0].appendChild(m);