OVH Cloud OVH Cloud

InetAddress.getByName(String) avec un DynDNS

2 réponses
Avatar
FloG
bonjour,

Je developpe une application qui enregistre l'IP sur un serveur DNS sur
des IP dynamiques.

J'utilise la commande InetAddress.getByName(String nom).getHostAddress()
afin de verifier que l'addresse ip enregistrée est bien la mienne.

Le probleme est que une fois que cette commande a ete utilisé, la
requete sur ce nom me renvoie toujours la meme addresse
meme si celle ci a en realité changé :-/
Si j'ai bien compris, les requetes de ce genres sont enregistrees dans
un cache pour raison de securité.

Est-ce que quelqu'un saurait comment faire pour passer outre ce probleme ?

Florent

2 réponses

Avatar
Marc Petit-Huguenin
FloG wrote:
bonjour,

Je developpe une application qui enregistre l'IP sur un serveur DNS sur
des IP dynamiques.

J'utilise la commande InetAddress.getByName(String nom).getHostAddress()
afin de verifier que l'addresse ip enregistrée est bien la mienne.

Le probleme est que une fois que cette commande a ete utilisé, la
requete sur ce nom me renvoie toujours la meme addresse
meme si celle ci a en realité changé :-/
Si j'ai bien compris, les requetes de ce genres sont enregistrees dans
un cache pour raison de securité.

Est-ce que quelqu'un saurait comment faire pour passer outre ce probleme ?


networkaddress.cache.ttl
networkaddress.cache.negative.ttl

http://java.sun.com/j2se/1.4.2/docs/guide/net/properties.html


Florent



Avatar
FloG
Marc Petit-Huguenin wrote:
FloG wrote:

bonjour,

Je developpe une application qui enregistre l'IP sur un serveur DNS
sur des IP dynamiques.

J'utilise la commande InetAddress.getByName(String
nom).getHostAddress() afin de verifier que l'addresse ip enregistrée
est bien la mienne.

Le probleme est que une fois que cette commande a ete utilisé, la
requete sur ce nom me renvoie toujours la meme addresse
meme si celle ci a en realité changé :-/
Si j'ai bien compris, les requetes de ce genres sont enregistrees dans
un cache pour raison de securité.

Est-ce que quelqu'un saurait comment faire pour passer outre ce
probleme ?



networkaddress.cache.ttl
networkaddress.cache.negative.ttl

http://java.sun.com/j2se/1.4.2/docs/guide/net/properties.html


Florent





YOUPI !! :-)
merci !
j'ai fait :
System.setProperty("networkaddress.cache.ttl","0");
System.setProperty("networkaddress.cache.negative.ttl", "0");
System.setProperty("sun.net.inetaddr.ttl", "0");
et ca marche très bien
encore merci

Florent.