internet
InitNetwork() fonctionne aussi en local, du moment que la pile TCP/IP est fonctionnel. (Serveur local par ex. avec 127.0.0.1).
Le truc qu'il faut essayer de 'pinger' un serveur existant et distant comme www.google.com par ex.
Il y d'autres méthodes (API notamment) mais celle là est cross-platform et a largement fait ses preuves.
Le truc qu'il faut essayer de 'pinger' un serveur existant et distant comme www.google.com par ex.
Il y d'autres méthodes (API notamment) mais celle là est cross-platform et a largement fait ses preuves.
Code : Tout sélectionner
If InitNetwork()
ConnID = OpenNetworkConnection("www.google.com",80,#PB_Network_TCP)
If ConnID
Debug "connecté à internet"
CloseNetworkConnection(ConnID)
Else
Debug "non connecté à internet"
EndIf
EndIf
ou à la win32 ( une des méthodes )
Code : Tout sélectionner
ConnectionName.s = Space(255)
If InternetGetConnectedStateEx_(@dwflags, @ConnectionName, 255, #Null)
Debug ConnectionName
If dwflags & #INTERNET_CONNECTION_CONFIGURED
Debug "An Internet connection is configured"
EndIf
If dwflags & #INTERNET_RAS_INSTALLED
Debug "A Remote Access Service (RAS) is installed"
EndIf
If dwflags & #INTERNET_CONNECTION_MODEM
Debug "The Internet connection is made by a modem"
EndIf
If dwflags & #INTERNET_CONNECTION_LAN
Debug "The Internet connection is made via a network (LAN)"
EndIf
If dwflags & #INTERNET_CONNECTION_PROXY
Debug " and using a Proxy server"
EndIf
If dwflags & #INTERNET_CONNECTION_OFFLINE
Debug "The Internet connection is currently offline"
Else
Debug "The Internet connection is currently connected (online)"
EndIf
If dwflags & #INTERNET_CONNECTION_MODEM_BUSY
Debug "The modem is busy with another connection."
EndIf
EndIf
-
- Messages : 1500
- Inscription : jeu. 25/mars/2004 11:23
- Localisation : Sophia Antipolis (Nice)
- Contact :
http://luchezl.free.fr/new.php?page=sources.php?file=93
Mais ca rejoint le post de Flype
Mais ca rejoint le post de Flype
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Participez à son extension: ajouter vos programmes et partagez vos codes !
Perso je préfère le ping
Perso, je préfère la métode avec le ping, déjà elle est portable, et emplus, elle est plus sur car defois windows fait des erreur quand il y à un intranet.
VOilà @+++
VOilà @+++
-
- Messages : 1500
- Inscription : jeu. 25/mars/2004 11:23
- Localisation : Sophia Antipolis (Nice)
- Contact :
Mais si tu ping une machine de ton réseau, tu vas croire t'as une connexion internet, ce qui n'est pas forcément le cas. Ou sinon faut être sûr de pingger des host pinggable que depuis internet.
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Participez à son extension: ajouter vos programmes et partagez vos codes !
Yep.
Il faut aussi penser au fait qu'un serveur puisse être hs (même momentanément).
Aussi une bonne méthode est d'avoir une petite liste d'url à 'pinger'.
Et là plus de soucis.
Il faut aussi penser au fait qu'un serveur puisse être hs (même momentanément).
Aussi une bonne méthode est d'avoir une petite liste d'url à 'pinger'.
Et là plus de soucis.
Code : Tout sélectionner
InitNetwork()
Procedure IsInternetConnected()
Protected Dim myList.s(3)
myList(0) = "www.google.com" ; mettre ici des URLs de confiance...
myList(1) = "www.microsoft.com" ; mais pas plus que çà, çà sert à rien.
myList(2) = "www.w3.org"
myList(3) = "www.yahoo.com"
For i = 0 To 3
ConnID = OpenNetworkConnection(myList(i),80,#PB_Network_TCP)
If ConnID
CloseNetworkConnection(ConnID)
ProcedureReturn #True
EndIf
Next
ProcedureReturn #False
EndProcedure
Debug IsInternetConnected()
ah j'avais fais un prog pour çà justement pour mon modem speedtouch alcatel...
Depuis j'ai un routeur et çà marche plus pareil mais essayes si tu veux :
http://www.penguinbyte.com/apps/pbwebst ... al1.0b.zip
Depuis j'ai un routeur et çà marche plus pareil mais essayes si tu veux :
http://www.penguinbyte.com/apps/pbwebst ... al1.0b.zip
Code : Tout sélectionner
If InitNetwork()
ConnID = OpenNetworkConnection("www.google.com",80,#PB_Network_TCP)
If ConnID
Debug "connecté à internet"
CloseNetworkConnection(ConnID)
Else
Debug "non connecté à internet"
EndIf
EndIf
Code : Tout sélectionner
ConnectionName.s = Space(255)
If InternetGetConnectedStateEx_(@dwFlags, @ConnectionName, 255, #Null)
Debug ConnectionName
If dwFlags & #INTERNET_CONNECTION_CONFIGURED
Debug "An Internet connection is configured"
EndIf
If dwFlags & #INTERNET_RAS_INSTALLED
Debug "A Remote Access Service (RAS) is installed"
EndIf
If dwFlags & #INTERNET_CONNECTION_MODEM
Debug "The Internet connection is made by a modem"
EndIf
If dwFlags & #INTERNET_CONNECTION_LAN
Debug "The Internet connection is made via a network (LAN)"
EndIf
If dwFlags & #INTERNET_CONNECTION_PROXY
Debug " and using a Proxy server"
EndIf
If dwFlags & #INTERNET_CONNECTION_OFFLINE
Debug "The Internet connection is currently offline"
Else
Debug "The Internet connection is currently connected (online)"
EndIf
If dwFlags & #INTERNET_CONNECTION_MODEM_BUSY
Debug "The modem is busy with another connection."
EndIf
EndIf
Connexion par réseau local (LAN)
An Internet connection is configured
The Internet connection is made via a network (LAN)
and using a Proxy server
The Internet connection is currently connected (online)