existe-t-il de toute façon avec Windows API pour détecter si la connexion réseau de Windows 7 est-elle une connexion Internet ou une connexion LAN sans accès à Internet? Windows 7 et Vista l'indiquent dans l'icône du réseau (local uniquement v. Local et Internet), est-il de toute façon pour saisir cette information programmée? P>
5 Réponses :
Pas parfaitement. P>
Vous pouvez détecter si vous êtes sur un réseau local de l'adresse IP (supposant que votre DHCP local a distribué une des adresses privées de 192.168.xx.xx.) P>
Vous pourriez ping un site externe connu pour vérifier si ce réseau local dispose d'une connexion Internet. P>
Ce n'est pas parce que l'ordinateur a une adresse IP privée (qui incluent également 10.x.x.x et 172.16-31.x.x) ne signifie pas que ce n'est pas connecté à Internet. Comme quiconque accède à ce site de derrière un routeur de maison effectuant Nat peut attester!
Ce n'était pas clair ce que l'OP vous demandait. IE. connexion Internet direct vs nat
pinging L'histoire derrière cette se trouve ici . P > 4.2.2.2 code> est un moyen courant de déterminer si la connectivité Internet est présente. P>
Intéressant. Qu'est-ce que vnsc-bak.sys.gtei.net?
Bien que maintenant 8.8.8.8 est probablement meilleur (voici la puissance de Google)
@Martin: Oui, bien que 4.2.2.2 est maintenant la mémoire musculaire pour moi. Je ne sais pas si je peux supporter d'apprendre 8.8.8.8 et son angle inconfortable entre l'index et le majeur.
http://msdn.microsoft.com/ FR-US / Bibliothèque / AA370750 (vs.85) .aspx Décrit la différence entre ISconnected code> et
isconnectedTerternet code>. Windows 7 seulement. Je n'ai pas d'échantillon de code natif pratique, désolé. p>
Merci, c'est exactement le genre de chose que je cherche.
Windows 7 effectue la requête DNS pour dns.msftncsi.com 5 secondes après l'établissement de la liaison. Ne vois aucune raison de le faire, à l'exception de la vérification de la connexion Internet. P>
Le pack de code de l'API Windows le fera pour vous http://archive.msdn.microsoft.com/windowsapicodepack P>
Sa classe NetworkListManager a une propriété isconnecte qui indique si vous avez une connexion LAN P>
et une propriété IsconnectedTerternet qui indique si vous avez une connexion Internet p>
Le téléchargement du pack contient une application de démonstration réseau qui démontre cette p>
La question est étiquetée c ++ signifiant code natif. Le pack de code (que j'adore et suis partiellement responsable) est le code géré, par exemple C #