SAVOIR SI CONNECTÉ AU NET EN 4 LIGNE AVEC WINSOCK

Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
- - Dernière réponse : cs_ra3d
Messages postés
3
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
3 juillet 2007
- 17 juin 2007 à 14:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27454-savoir-si-connecte-au-net-en-4-ligne-avec-winsock

Afficher la suite 
thierrydelepine
Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
2 -
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
pepekiss
Messages postés
19
Date d'inscription
samedi 17 avril 2004
Statut
Membre
Dernière intervention
14 février 2005
-
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
thierrydelepine
Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
2 -
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
cs_legion91
Messages postés
216
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
15 décembre 2010
-
1er) 127.0.0.1 n'est pas forcement l'ip reseaux par default
2°) 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 Long
Public Function IsNetConnectOnline() As Boolean
IsNetConnectOnline = InternetGetConnectedState(0&, 0&)
End Function
Sub Main()
If IsNetConnectOnline() = False Then
MsgBox "Vous êtes actuellement déconnecté.", vbInformation
Exit Sub
Else
MsgBox "Vous êtes actuellement connecté à Internet.", vbInformation
End If
End Sub

4°) 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 Long

Private Sub Form_Load()
MsgBox "Etes vous connecté a internet? " + CStr(CBool(Not (InetIsOffline(0)))), vbInformation
End Sub
cs_legion91
Messages postés
216
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
15 décembre 2010
-
J'allais oublier:

Private Declare Function InetIsOffline Lib "url.dll" (ByVal dwFlags As Long) As Long

MsgBox "Etes vous connecté a internet? " + CStr(CBool(Not (InetIsOffline(0)))), vbInformation

Sa fait deux lignes lol