Aide - Recherche - Membres - Calendrier
Version complète : Detecter la presence d'une connection ...
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
Khertan
Bonjour,

Comment puis je detecter si il y a une connection internet, sans la lancer si il n'y en as pas. J'ai bien penser au notifications, mais il n'y en a qu'une qui est envoyé lorsqu'une connection est lancé (mais pas encore active...) et lorsqu'une connection est coupé (c est donc trop tard).

Quelqu'un à une idée ? Merci

[
snark
Tu ne peux pas te fier au fait qu'une adresse IP a été assignée?
Patrice
CITATION(snark @ 22/05/2006 à 18:04 ) *
Tu ne peux pas te fier au fait qu'une adresse IP a été assignée ?
Si, mais il faut pour cela ouvrir la netlib, qui va ouvrir une connexion s'il n'y en a pas icon_lol2.gif

Ceci dit, je ne connais pas la réponse... Peut-être en regardant si la NetLib est chargée et ouverte, justement ?
jpa
Hello,

de memoire, il me semble que tu peux:

1- Appeler NetLibOpenCount() pour savoir si NetLib est deja ouverte

2- Si ce n'est pas le cas, appeler NetLibOpenIfCloseWait() pour determiner si NetLib a ete recemment ferme mais que la connexion est encore ouverte.

3- si elle n'est pas ouverte ou en attente de fermeture, le reseau est probablement pas dispo.

4- si elle est ouverte ou en attente de fermeture, appeler NetLibOpen().

5- Pour obtenir plus d'info sur la connexion active, utiliser NetLibIFGet() et NetLibIFSettingGet() pour chacune des interfaces et determiner laquelle est active (up).

Si quelqu'un a plus simple, je suis bien sur preneur smile.gif

JPA
The HB++ team
Khertan
Bah oui ... mais ... bon je vais expliquer en details ...

Mon code est appelé sur la notification de connection up ...

NetLibOpenCount retourne a ce moment la 1 connection active ... (mais la connection n'est toujours pas etabli)

meme reponse pour NetLibIfGet et NetLibIFSettingGet()

(ps si le palm a une ip fixe ... il a toujours une ip attribué)

Je vois pas trop comment faire ...
jpa
Hello Khertan,

CITATION
Bah oui ... mais ... bon je vais expliquer en details ...

Mon code est appelé sur la notification de connection up ...


j'ai bien compris que tu essayais de te servir des notifications pour determiner s'il y avait une connexion active mais je ne pense pas que cela soit la solution.

CITATION
NetLibOpenCount retourne a ce moment la 1 connection active ... (mais la connection n'est toujours pas etabli)

NetLibOpenCount te renvoie le nombre d'ouverture(s) de la librairie NetLib, pas le nombre de connexions actives. Je veux dire que si tu ouvres la lib 10 fois pour y consulter des donnees, la fonction te retournera (au moins) 10. Meme si cela te retourne 1, cela peut etre un soft tiers ou meme une lib autre qui accede a la lib, et ce sans qu'il y ait une connexion active. Donc ma methode, cad parcourir les interfaces pour verifier si une d'entre elle est ouverte me semble pertinente. Cependant, si NetLibOpenCount te renvoie 0, pas la peine d'aller plus loin wink.gif

HTH

JPA
The HB++ team
Khertan
Cela est bien dans le cas ou l'on souhaite tester lors du lancement d'une application si la connection est ouverte ... mais ce que j'aimerais ... c'est que lorsque qu'une connection est ouverte que la mienne soit notifier ...

Alors la solution temporaire est ...

Detecter une connection ... -> enregistrer un timer d'une minute ...
Timer d'une minute raise ... -> tester si l'on a reelement une connection ... puis faire ce que l'on a a faire ...

Mais je ne trouve pas cela tres propre ...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.