Bonjour,
J'ai une application Client-Serveur. Je n'ai que les sources Delphi de l'application Serveur.
L'application serveur (sous Windows) communique avec des applications client (PDA sous Windows CE) SUR UN RESEAU LOCAL via les Sockets Windows en mode TCP/IP.
J'ai besoin d'identifier le matériel du client, idéalement ce serait de récupérer son Adresse MAC qui est unique.
Comment puis-je faire cela ?
J'obtiens son adresse IP comme ceci :
J'ai essayé d'obtenir le nom de la machine mais ça ne fonctionne pas (pointeur HostEnt = nil) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var SockAddrIn : TSockAddrIn; Size : Integer; AdresseIP : string; begin getpeername(Ident, SockAddrIn, Size); ShowMessage( inet_ntoa(SockAddrIn.sin_addr) ); end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var SockAddrIn : TSockAddrIn; Size : Integer; AdresseIP : string; HostEnt: PHostEnt; begin getpeername(Ident, SockAddrIn, Size); HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); if HostEnt <> nil then Showmessage( StrPas(Hostent^.h_name) ) else Showmessage(''); end;
Savez-vous comment je peux faire ? Merci beaucoup !
Partager