Monitoring réseau en PureBasic

Sujets variés concernant le développement en PureBasic
Mathew
Messages : 11
Inscription : dim. 21/juin/2026 21:57

Monitoring réseau en PureBasic

Message par Mathew »

Salut tout le monde,

En ce moment, je suis en train de bricoler un petit programme en PureBasic qui me permettrait de suivre les changements de connexion réseau sur mon PC portable. Comme je bouge souvent, je passe de temps en temps du Wi-Fi au partage de connexion mobile, et récemment j'ai aussi testé une eSIM pour être connecté plus facilement lors de déplacements. Pour ces essais, j’avais pris quelques informations sur https://esimdeals.io/ afin de comparer les différentes solutions de connectivité.
Je me demandais donc quelle était la meilleure façon de détecter sou sPureBasic quand une adresse IP change ou qu'une autre interface réseaudevient active. Mon but est surtout de consigner ces événements dans un fichier log afin de les analyser ensuite. Si quelques uns ont déjà fait quelque chose de similaire ou connaissent des API Windows adaptées à ce besoin, je serais ravi d'avoir vos conseils. Merci à l'avance !
Avatar de l’utilisateur
Ar-S
Messages : 9587
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Monitoring réseau en PureBasic

Message par Ar-S »

Tu as plusieurs solutions.
Soit tu check l'IP en boucle via ipconfig dans ton terminal et tu la récupère, soit tu te places un fichier php si tu as de quoi l'héberger qui check ton ip distante. Avec un timer tu fais ça toute les x sec ou minutes. Si ancienne ip différe de nouvelle ip alors log.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
TazNormand
Messages : 1302
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Monitoring réseau en PureBasic

Message par TazNormand »

Salut,

Tu parles des adresses IP locales (LAN) ou bien de ton adresse IP publique visible sur internet ?

Si c'est ton/tes adresses LAN, regarde du côté de ExamineIPAddresses()

Si c'est ton adresse ip publique, tu peux utiliser le site api.ipify.org, voici un petit code basé sur l'exemple de la commande HTTPInfo() :

Code : Tout sélectionner

HttpRequest=HTTPRequest(#PB_HTTP_Get,"https://api.ipify.org?format=json")
If HttpRequest
  Debug "Réponse: " + HTTPInfo(HTTPRequest, #PB_HTTP_Response)
  Debug "Status : " + HTTPInfo(HTTPRequest, #PB_HTTP_StatusCode)
  
  FinishHTTP(HTTPRequest)
Else
  Debug "La requête a échoué"
EndIf
A toi de faire le code pour checker régulièrement que la valeur de retour de ipify.org n'a pas changé

Tu peux enlever le "?format=json" dans le HTTPRequest() si tu veux l'ip publique en format brut
Image
Image
Mathew
Messages : 11
Inscription : dim. 21/juin/2026 21:57

Re: Monitoring réseau en PureBasic

Message par Mathew »

Hello, merci pour vos réponses !

`ExamineIPAddresses()` semble bien adapté pour les IP locales, et je vais aussi tester `api.ipify.org` pour l'IP publique.
Je me demande juste s'il existe une solution basée sur les notifications de l'API Windows, afin d'éviter un contrôle en boucle. Si quelqu'un a déjà fait ça en PureBasic, je suis preneur de retours.
Répondre