private sub form_load() ' votre adresse ip est 127.0.0.1 si vous n'êtes pas connecté au net ' donc si votre adresse ip est 127.0.0.1 c'est que vous n'êtes pas ' connecté if winsock1.localip="127.0.0.1" then msgbox "Vous n'êtes pas connecté au net" else msgbox "Vous êtes connecté au net, votre ip est : " & winsock1.localip endif End Sub
je ne suis pas d'accord,avec ton code tu ne sais pas si tu est connecté au net.tu sais juste qu'un adapteur reseau est actif et a une adresse IP (Carte reseau, acces distant, ...).donc au lieu de "Vous êtes connecté au net, votre ip est : " j'aurai mis "vous avez au moins un adaptateur reseau actif configuré avec l'adresse IP :"la vrai detection d'une connexion internet est beaucoup plus compliquée.je ne conseil donc pas l'utilisation de ce code pour tester une connexion internet, ceci dit si ce code est pour toi et que pour toi et que ton appli ne tournera pas sur aucun autre PC alors c'est utilisable mais pas si tu dois diffuser ton prog sur d'autres ordinateurs
As-tu essayé cette source? Cela ne définit pas seulement l'adaptateur reseau. Cela dit réellement si on est connecté ou non au net. Essaie la dans tous les cas de figures, et tu verras
Pour te faire plaisir je viens de faire les test et il me dit "vous etes connecté au net ..." .ERREUR, toutes mes fenetres Internet Explorer etait fermées, je n'etait pas connecté a internet.je suis sur un reseau et donc ton code a testé que j'avais un adaptateur actif sur le reseau ( ca c'est exact) mais je n'etais pas connecté a internet donc tu as tout faux.si tu veux faire un test c'est tres simple met une crate reseau dans un micro configure ces propriétés reseaux et branche le sur un HUB tu verra ton code dira que tu es conencté a Internet alors que ce n'est pas vrai
1er) 127.0.0.1 n'est pas forcement l'ip reseaux par default2°) sa deja ete dit plein de fois et surtout là, c'est du foutage de gueule.3°) Je prefere cette solution par API:Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As LongPublic Function IsNetConnectOnline() As BooleanIsNetConnectOnline = InternetGetConnectedState(0&, 0&)End FunctionSub Main()If IsNetConnectOnline() = False ThenMsgBox "Vous êtes actuellement déconnecté.", vbInformationExit SubElseMsgBox "Vous êtes actuellement connecté à Internet.", vbInformationEnd IfEnd Sub4°) Ou encore, mais il me semble que sa marche pas chez tt le monde:Private Declare Function InetIsOffline Lib "url.dll" (ByVal dwFlags As Long) As LongPrivate Sub Form_Load()MsgBox "Etes vous connecté a internet? " + CStr(CBool(Not (InetIsOffline(0)))), vbInformationEnd Sub
J'allais oublier:Private Declare Function InetIsOffline Lib "url.dll" (ByVal dwFlags As Long) As LongMsgBox "Etes vous connecté a internet? " + CStr(CBool(Not (InetIsOffline(0)))), vbInformationSa fait deux lignes lol
Desole legion91 mais ce code via l'API InetIsOffline je l'avais deja testé et c'est le meme resultat qu'avec le code de pepekiss, tu detecte seulement si tu as un adaptateur actif sur la machine.si ton PC est relié a internet par carte reseau via un proxy le resultat est faux, il renverra toujours vous etes connecté a internet meme si tu n'as aucune fenetre ouverte sur le PC.
Mais ne peut-on pas être connecté sans pour autant ne pas avoir de fenêtre ouvertes?
je suis desole pepekiss mais thierrydelepin a raison:ta juste besion d'un routeur (par example) pour qu'il tassigne une IPla chos ce searit dessayer de se connecter a un servver toujour actif!
Pour e_NeX,Tu as raison c'est une solution simple a mettre en oeuvre pour tester si un PC est bien relié a internet.Un principe est de faire par exemple un ping vers un ou deux serveurs toujours présent sur le net ( et qui accepte le ping ) afin de verifier que l'on est bien connecté a internet.Mais ce n'est pas le top quand même, cela reste de bidouille et si les serveurs disparraissent du net bye bye le test de connexion Internet.
pour thierrydelepine pas besion d'un ping juste un connection a un server de Krosoft (toujours pas example) sutr le port 80 (evidemment) et si ta connection est acceptee : connecte = truesi ta reponse est Hos unreacheable ou autrechose dans le style unknow host : connection = false
hello1) Fenetre internet ouverte ou pas : aucun rapport avec la connexion2) 127.0.0.1 n'est effectivement pas une reference3) Si je suis en LAN et que mon cable est bien relié a un(plus) autre(s) pc(s), mon ip sera par exemple : 192.168.0.5, ce qui ne veut pas dire que je suis connecté a internet.4) la solution du ping ou de choper une page web est effectivement barbare mais je regrette : est la meilleure !!Pour les personnes ayant une connexion via un modem (avec un seul pc), il se peut que vous trouviez un code qui vous donne : votre IP locale (192.168.xxx.xxx) et votre IP internet. Elles seront ttes les deux diffrentes.Vous vous direz : "oui ! j'ai trouvé ! si j'ai deux ip diffrenete alors je suis connecté au net !"je vous arrete tout de suite : c faux ! cela ne marchera QUE sur un réseau monoposte !!!Si vous vous trouvez derriere un routeur, le routeur LUI est connecté au net, mais vous, vous etes connecté au routeur, il vous redistribue (via un switch/hub) votre bande passante. Résultat : vous trouverez grace a votre prog deux adresse IP identique. et pourtant vous serz sur le net.Je repete donc ke la solution de bidouille du ping ou de la page web chopée est la meilleurevoila :) bonne prog
un autre solution plus propre encore que le ping( j'y ai pensé apres),c'est de faire une resolution de nom sur l'adresse www.microsoft.com et si elle se fait c'est que nous sommes bien sur internet car dans ce cas c'est le serveur DNS du provider internet qui nous repond.je persiste a dire que ca reste de la bidouille car, il me semble que si on demande un ping ou un test sur le port 80 d'une page web, ou une resolution de noms, le pc, si il ne trouve pas en local ce qu'il veut, va demander une connexion internet.Donc c'est pas cool si a chaque fois qu'un prog verifie la connexion, l'utilisateur se mange une fenetre de demande de connexion a internet si il est hors ligne.
Yep, marche pas. je suis sur un réseau local, et il me donne mon IP sur le réseau, mais rien à voir avec la connection Internet.
Cette méthode est réellement trop limitée pour être convaincante. Elle ne peut être retenue comme une façon efficace. Il existe trop de cas de figure où cette source trouve ses limites (Proxy, Routeur,...). Le cas le plus extrême: et si mon fiston s'amuse à retirer le cable RJ45 de ma machine... J'ai tjs mon IP qui m'a été attribuée par mon FAI (si je suis en direct), mais suis-je encore sur le net ? Et non ! Cela pourra être critique pour une application que l'on développerait. La façon la plus sure selon moi est d'interroger un serveur lequel nous sommes (quasi) certains qu'il répondra. Mais c'est vrai, nous sommes dès lors dépendant de ce serveur. Mais rien n'exclu qu'en cas de non réponse d'un serveur, nous en testions d'autres.Une dizaine par exemple (serveurs très courants). Si aucune réponse de ces 10 serveurs, la probabilité que nous ne soyons pas sur le net est maximale.
Il n'y a aucune méthode fiable pour tester si le poste est connecté à internet. Car même en effectuant un ou plusieurs pings, ça lancera la procédure de connexion à internet... Donc vraiment pas bon.
porthierrydelepine,qand tu te connecte au serveur, apres il faut que tu envoie une requette a ce serveur pour qu'il te renvoie la pages desiree que tu request! mais ce n'est pas ce que l'on veux faire: on veux juste se connecter et se deconnecter sans dialoguer avec ce serveur et comme Neo.balastik l'a dit: TESTER plusieurs serveurs serait plus precis! personellement, je prendrait un serveur qui donne l'heure exate (a mon avis ils ne doivent quasiment jamais etre en panne!)pour econs,evidemment : quand tu branche ta machine a ton routeur, ce dernier t'assigne une IP (qui est privee) meme si ton hub n'est pas branche sur ton modem!ps: je ne suis pas d'accord avec jcq
Ok, je ne suis d'accord avec personne :1) d'abord parce qu'une connexion internet ne va pas forcément de pair avec une fenêtre de browser ouverte (les pagers genre AIM, ICQ ou messenger utilisent internet aussi, par exemple ... les P2P, etc).2) ensuite parce qu'il n'y a rien de plus chiant (pour un utilisateur) que de voir 5 fois par minute sa fenêtre de connexion s'afficher ("Voulez vous démarrer une connexion internet ?"), ce qui arrive immanquablement à chaque fois qu'un soft essaye de se connecter à une adresse de serveur du web. Quand l'utilisateur ne veut pas se connecter, il faut respecter son souhait (même s'il a de quoi se connecter). Donc, toutes les solutions "actives" me paraissent mauvaises (de type "j'essaye de me connecter en TCP sur le port 80 d'un serveur, je verrai bien si ça marche"). Reste à voir si un simple ping déclenche aussi l'outil de connexion automatique ... (un ping étant, à un niveau donné, une tentative de connexion).A mon avis, le meilleurs code est celui qui ne réveillerait même pas un firewall ...
Désolé, jcq avait déjà dit la même chose ...
merci fiduce, enfin quelqu'un d'accord avec moi...
Simple question à l'assemblée : ayant une connexion permanente, je n'ai jamais de boîte de dialogue demandant une connexion (ce qui apparement pose problème ici). Si l'on exécute la commande PING dans une invite de commande, cette boîte apparaît-elle ?
non elle n'apparait pas, je suis aussi sur une connexion permanente sans boite de dialogue, pour moi ça marcherais mais pas pour les personnes avec modem a connecter manuellement, avec cette "foutue" boite :D
JulioDelphi > merci de ta réponse, mais au fait ma question s'adressait essentiellement aux personnes ayant justement cette boite. Car je sais bien entendu que cette boite n'apparait dans le cas d'une connexion permanente...
En gros, aucune façon d'être sûre à 100% de l'état de la connexion. Ce qui peut être handicapant pour certaines sources. (Merci à ceux qui ont remonté ma note)
vous dites ke d connerie,si tu ouvre une page internet et ke le net fonction et bien ^m si tu ferme tt les fenetre internet ton pc reste connecter au net c pa parce que vous ne l'utiliser pas k'il né pa connecter vous etes con ou koi ton pc vas pa passer sa journé a ce connecter au net des que tu ouvre une fenetre et ce deconnecter d ke tu la ferme c complétement idio ce ke vous dissez et cela ^m kan vous avez internet par un reseau local il reste connecter que t fenetre sont ouvert ou pas jusqu'a ce qu'a ce que vous éteigner votre pc
chasseurdedemon :avant de poster un commentaire assure toi de sa validité.fait un test tout simple, met un modem sur ton PC avec un acces vers un FAI, tu verra que si tu lance IE et que tu n'est pas connecté, tu aura une demande de connexion a Internet.idem si tu passe par un proxy si tu es sur un LAN.ce que tu dis n'est valable que dans un cas: une connexion directe a ton PC genre ADSL.ceci dit tu est hors sujet puisque le probleme de depart est de detecter si on est ou pas connecté a internet.PS: pas de mot vulgaire, pas de language SMS c'est mieux
chasseurdedemon : les insultes tu te les garde, ce que tu dis a deja été dit plus haut et saus fautes d'orthographe. ton post ne vaux rien.thierry : je suis connecté a un reseau, branché sur le switch, et le routeur qui chope la connexion au net est branché sur le switch aussi et partage la connexion. et donc en aucun cas je n'ai d'ouverture de fenetre de demande de connexion :(il est clair que ce n'est pas simple de savoitr si on est connecté, mais je pensais le sujet clos !
pour JulioDelphi, moi aussi je pensais le sujet clos sur cette API.ton cas est similaire a une connexion ADSL directe, moi je te parle d'un reseau avec PROXY, ou la, a chaque acces a internet une fenetre de connexion au proxy est demandée (equivaut a une demande comme par modem).
ok tout a fait
salut,j'ai une carte satelite ce code affiche l'adress de cette carte 192.168.238.238
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte