Bonjour,
je travaille sur un module de log des entrées / sorties des utilisateurs de mon appli de GPAO.
j'ai une table logg avec les champs suivants :
log_session_id (int id auto incrément)
log_uid (lien avec ma table usr.usr_id)
log_ip_address (l'adresse ip du poste client)
log_start (date et heure de la connexion initiale)
log_last_refresh (un agent de mon appli va mettre à jour cette date-heure toutes les 10 minutes)
log_end (rempli à la déconnexion normale)
je tiens à garder le champs last_refresh, au cas où perte de connexion ou plantage de l'appli, et je compte faire tourner une procédure planifiée sur mon serveur sql (ou dans l'appli WinDev en même temps que celle qui viendra recalculer le last_refresh), qui viendra mettre une log_end à toutes les lignes dont le last_refresh est plus grand que 12 minutes par exemple (10 minutes plus un delta)
je pars du principe que tous les postes client ont une horloge système synchronisée avec le même serveur de temps (éventuellement ce pourrait être le serveur sql).
Toujours est-il que ce problème se présente :
l'adresse ip qui normalement s'obtient facilement à partir de NetAdresseIP() n'est pas toujours bonne quand on a plusieurs cartes réseau sur son poste, par exemple moi j'ai une carte Virtual-box qui est connectée, et NetAdresseIP me renvoie cette adresse au lieu de mon adresse wifi :
Comment je peux obtenir à coup sur l'adresse IP que j'utilise pour joindre mon serveur sql (qui sera plus tard sur une machine distante) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Carte Ethernet VirtualBox Host-Only Network : Suffixe DNS propre à la connexion. . . : Adresse IPv6 de liaison locale. . . . .: fe80::35:e759:18f:7255%25 Adresse IPv4. . . . . . . . . . . . . .: 192.168.56.1 Masque de sous-réseau. . . . . . . . . : 255.255.255.0 Passerelle par défaut. . . . . . . . . :
Merci bien
Partager