internet

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

internet

Message par graph100 »

es-qu'on peut detecter si la internet et branché avec pure ?
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

InitNetwork() je suppose :wink:
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

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.

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
Image
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

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
Image
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
meganet
Messages : 317
Inscription : jeu. 20/janv./2005 22:00

Perso je préfère le ping

Message par meganet »

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à @+++
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

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 !
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

hey lionel_om, il est excellent ton site, je connaissais pas.
et hop dans mes favoris :P
Image
meganet
Messages : 317
Inscription : jeu. 20/janv./2005 22:00

Luai bas

Message par meganet »

Ouai bas y à qu'à pinger microsoft.com
ou google.com
et voilà
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

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.

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()
Image
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Message par graph100 »

ok merci

:D
en fait ma connection coupe souvent et ne se remet pas toute seule donc ...

sa fait pas ramer un peu la connection ??
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

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
Image
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message par gnozal »

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
Ne fonctionne pas en cas de proxy ! Ce code me répond (après 1 minute) : "non connecté à internet" Et pourtant ...

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
Là, c'est beaucoup mieux :
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)
Répondre