Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme ave la fonction socket.gethostbyaddr si l'interface reseau est configure apres le debut du script

1 réponse
Avatar
HIL
Bonjour,

J'ai realise un petit script python qui permet de configurer une interface
reseau, soit en invoquant 'dhclient' depuis un script python ou
manuellement en invoquant 'ifconfig'. J'ecrit egalement un
fichier /etc/resolv.conf contenant l'adresse de mon serveur dns.
Cela fonctionne et le reseau est 'up', par contre, quand j'utilise la
fonction socket.gethostbyaddr pour recuperer un nom de machine a partir
d'une adresse IP, ca ne fonctionne pas, j'ai une exception herror.

Si je redemarre mon script (cette fois il demarre avec le reseau deja 'up')
socket.gethostbyaddr fonctionne correctement.

J'imagine donc qu au demarrage de python, une couche reseau est chargee et
qu'elle ne voit pas lorsque l'interface reseau n'est initialisee qu'apres.

Y a t il un moyen de reinitialiser cette couche reseau au cours du script,
ou suis je oblige de redemarrer mon script pour qu il tienne en compte le
reseau ?

Merci d'avance.

HIL

1 réponse

Avatar
HIL
Petit precision, mon script tourne sous Debian Linux et j utilise python
2.3.5

HIL

HIL wrote:


Bonjour,

J'ai realise un petit script python qui permet de configurer une interface
reseau, soit en invoquant 'dhclient' depuis un script python ou
manuellement en invoquant 'ifconfig'. J'ecrit egalement un
fichier /etc/resolv.conf contenant l'adresse de mon serveur dns.
Cela fonctionne et le reseau est 'up', par contre, quand j'utilise la
fonction socket.gethostbyaddr pour recuperer un nom de machine a partir
d'une adresse IP, ca ne fonctionne pas, j'ai une exception herror.

Si je redemarre mon script (cette fois il demarre avec le reseau deja
'up') socket.gethostbyaddr fonctionne correctement.

J'imagine donc qu au demarrage de python, une couche reseau est chargee et
qu'elle ne voit pas lorsque l'interface reseau n'est initialisee qu'apres.

Y a t il un moyen de reinitialiser cette couche reseau au cours du script,
ou suis je oblige de redemarrer mon script pour qu il tienne en compte le
reseau ?

Merci d'avance.

HIL