|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
récuper le nom d'une machine distante |
Started by sebastien.bonilla, Sep., 17 2004 6:19 PM - 14 replies |
| |
| | | |
|
| |
Posted on September, 17 2004 - 6:19 PM |
bonjour,
je débute et je souhaiterais récuper le nom d'une machine distante sur le reseau local par les API windows ?
une idée? |
| |
| |
| | | |
|
| | |
| |
Posted on September, 17 2004 - 7:07 PM |
Regarde la fonction : NetNomMachine()
A+
Fil
"sebastien bonilla" <sebastien.bonilla@mutuelledulimousin.fr> a écrit dans le message de news: 414af21b$1@news.pcsoft.fr...
bonjour,
je débute et je souhaiterais récuper le nom d'une machine distante sur le reseau local par les API windows ?
une idée?
|
| |
| |
| | | |
|
| | |
| |
Posted on September, 17 2004 - 7:17 PM |
Salut
J'ai besoin d'un peu plus d'informations
Veux-tu réupérer son nom à partir de son adresse ip?
Mathieu |
| |
| |
| | | |
|
| | |
| |
Posted on September, 17 2004 - 7:57 PM |
OUI tout à fait "Mathieu Kurth" <mkurth@difemax.ca> a écrit dans le message de news:414aff62@news.pcsoft.fr...
Salut
J'ai besoin d'un peu plus d'informations
Veux-tu réupérer son nom à partir de son adresse ip?
Mathieu
|
| |
| |
| | | |
|
| | |
| |
Posted on September, 17 2004 - 8:03 PM |
Cette fonction renvoie le nom du poste local Ce qui m'interesse c'est d'un poste distant.grace à son IP que je possède
"Psotric" <filip@ibelgique.com> a écrit dans le message de news:414afd6d@news.pcsoft.fr...
Regarde la fonction : NetNomMachine() A+ Fil "sebastien bonilla" <sebastien.bonilla@mutuelledulimousin.fr> a écrit dans le message de news: 414af21b$1@news.pcsoft.fr... bonjour,
je débute et je souhaiterais récuper le nom d'une machine distante sur
le
reseau local par les API windows ?
une idée?
|
| |
| |
| | | |
|
| | |
| |
Posted on September, 18 2004 - 6:36 PM |
Le 17/09/2004, sebastien bonilla a supposé :
OUI tout à fait "Mathieu Kurth" <mkurth@difemax.ca> a écrit dans le message de news:414aff62@news.pcsoft.fr... Salut
J'ai besoin d'un peu plus d'informations
Veux-tu réupérer son nom à partir de son adresse ip?
Mathieu
Bonjour, C'est une ressource que l'on a sur les wtablettes (site dédié à WebDev) Donc c'est pour WebDev mais il n'y a aucune raison que cela ne convienne pas en WD.
http://www.4usinfo.com/perso/wnomclient.htm
-- Eric |
| |
| |
| | | |
|
| | |
| |
Posted on September, 20 2004 - 6:38 PM |
Merci de tout vos renseignements. J'ai pu réaliser ce que je devais faire.
Cependant, avec les API est-ce possible?
"Eric R." <eric@wtablettes.net> a écrit dans le message de news:mn.93e47d49bdf757cb.11485@wtablettes.net...
Le 17/09/2004, sebastien bonilla a supposé : OUI tout à fait "Mathieu Kurth" <mkurth@difemax.ca> a écrit dans le message de news:414aff62@news.pcsoft.fr... Salut
J'ai besoin d'un peu plus d'informations
Veux-tu réupérer son nom à partir de son adresse ip?
Mathieu
Bonjour, C'est une ressource que l'on a sur les wtablettes (site dédié à WebDev) Donc c'est pour WebDev mais il n'y a aucune raison que cela ne convienne pas en WD. http://www.4usinfo.com/perso/wnomclient.htm-- Eric |
| |
| |
| | | |
|
| | |
| |
Posted on September, 23 2004 - 12:33 AM |
Oui
J'ai même le code mais j'ai un petit problème avec.
Tu le veux quand même
Mathieu |
| |
| |
| | | |
|
| | |
| |
Posted on September, 24 2004 - 12:42 PM |
oui je le veut bien ,ca ne coute rien merci
"Mathieu Kurth" <mkurth@difemax.com> a écrit dans le message de news:4151e0c5@news.pcsoft.fr...
Oui
J'ai même le code mais j'ai un petit problème avec.
Tu le veux quand même
Mathieu
|
| |
| |
| | | |
|
| | |
| |
Posted on September, 25 2004 - 1:51 AM |
Voici le code (attention il y a trois procedures au total séparées par des //Début... et //Fin...
//Début du code bouton hostent est une structure h_name est un entier h_addrtype est un entier sur 2 octets h_length est un entier sur 2 octets h_addr_list est un entier FIN iRetour est un entier strNom est une chaîne strAdr est une chaîne = "192.168.1.102"+Caract(0) //Adresse valide du réseau h_hostent est un hostent iIdAdresse est un entier iPointeur est un entier
SI init() ALORS iIdAdresse = API("Ws2_32","inet_addr",strAdr) SI iIdAdresse <> -1 ALORS iPointeur = API("Ws2_32","gethostbyaddr",&iIdAdresse,Dimension(iIdAdresse),2) SI iPointeur <> 0 ALORS Transfert(&h_hostent,iPointeur,Dimension(h_hostent)) strNom = ChaîneRécupère(h_hostent:h_name,crAdresseASCIIZ) SINON Erreur(ErreurInfo()) FIN FIN fininit() FIN //fin du code bouton
//début du code de la procédure init() WSADATA est une structure wVersion est un entier sur 2 octets //Type C : WORD wHighVersion est un entier sur 2 octets //Type C : WORD szDescription est un caractère //Type C : char szSystemStatus est un caractère //Type C : char iMaxSockets est un entier //Type unsigned short non retrouvé (entier est le type le plus fréquent, mais à VERIFIER) iMaxUdpDg est un entier //Type unsigned short non retrouvé (entier est le type le plus fréquent, mais à VERIFIER) lpVendorInfo est un entier //Type C : pointeur sur char FAR FIN bRetour est un booléen ws est un WSADATA iRetour est un entier iRetour = API("Ws2_32","WSAStartup",257,&ws) SI iRetour = 0 ALORS bRetour = Vrai SINON bRetour = Faux FIN RENVOYER bRetour //fin procédure init()
//début code procédure fininti() API("Ws2_32","WSACleanup") //fin procedure fininit()
Le problème que j'ai c'est que la fonction api "gethostbyaddr" retourne un pointeur <> 0 seulement si je met un point d'arrêt ou l'instruction STOP avant l'appel de la fonction.
Mathieu |
| |
| |
| | | |
|
| | |
| |
Posted on September, 27 2004 - 4:37 PM |
le code fonctionne effectivement mais uniquement avec un point d'arret. Très embettant...
=> la fonction : iIdAdresse = API("Ws2_32","inet_addr",strAdr) retourne 0 si l'on ne met pas de point d'arret => la fonction : API("Ws2_32","WSAStartup",257,&ws) retourne bien VRAI meme sans point d'arret.
Une idée ???
"Mathieu Kurth" <mkurth@difemax.com> a écrit dans le message de news:41549634@news.pcsoft.fr...
Voici le code (attention il y a trois procedures au total séparées par des
//Début... et //Fin...
//Début du code bouton hostent est une structure h_name est un entier h_addrtype est un entier sur 2 octets h_length est un entier sur 2 octets h_addr_list est un entier FIN iRetour est un entier strNom est une chaîne strAdr est une chaîne = "192.168.1.102"+Caract(0) //Adresse valide du
réseau
h_hostent est un hostent iIdAdresse est un entier iPointeur est un entier
SI init() ALORS iIdAdresse = API("Ws2_32","inet_addr",strAdr) SI iIdAdresse <> -1 ALORS iPointeur = API("Ws2_32","gethostbyaddr",&iIdAdresse,Dimension(iIdAdresse),2)
SI iPointeur <> 0 ALORS Transfert(&h_hostent,iPointeur,Dimension(h_hostent)) strNom = ChaîneRécupère(h_hostent:h_name,crAdresseASCIIZ) SINON Erreur(ErreurInfo()) FIN FIN fininit() FIN //fin du code bouton
//début du code de la procédure init() WSADATA est une structure wVersion est un entier sur 2 octets //Type C : WORD wHighVersion est un entier sur 2 octets //Type C : WORD szDescription est un caractère //Type C : char szSystemStatus est un caractère //Type C : char iMaxSockets est un entier //Type unsigned short non retrouvé (entier est le type le plus fréquent, mais à VERIFIER) > iMaxUdpDg est un entier //Type unsigned short non retrouvé (entier est le type le plus fréquent, mais à VERIFIER)
lpVendorInfo est un entier //Type C : pointeur sur char FAR FIN bRetour est un booléen ws est un WSADATA iRetour est un entier iRetour = API("Ws2_32","WSAStartup",257,&ws) SI iRetour = 0 ALORS bRetour = Vrai SINON bRetour = Faux FIN RENVOYER bRetour //fin procédure init()
//début code procédure fininti() API("Ws2_32","WSACleanup") //fin procedure fininit()
Le problème que j'ai c'est que la fonction api "gethostbyaddr" retourne un pointeur <> 0 seulement si je met un point d'arrêt ou l'instruction STOP avant l'appel de la fonction.
Mathieu
|
| |
| |
| | | |
|
| | |
| |
Posted on September, 28 2004 - 1:49 AM |
Salut,
1) Il manque le chargement de la DLL -> risque de gpf
2) Il manque un appel à "WSAStartup"
3) Voisci un procédure complète que j'ai :
// Description des paramtres d'entre/sortie de 'NetNomMachineSelonIp' : //Cette fonction retourne le nom d'un machine partir de son adresse IP
// // Syntaxe : //[ <Rsultat> = ] NetNomMachineSelonIp (<sParamAdresseIp>[, <sParamErreurEnRetour>]) // // Paramtres : // sParamAdresseIp : Adresse IP de la machine dont on veut le nom // sParamErreurEnRetour : Message d'erreur en cas de pb // Valeur de retour : // chaine : Nom de la machine. Si 2 noms sont trouvs alors il sont séparés par une tabulation // Chaine vide si la résolution échoue. Dans ce cas 'sParamErreurEnRetour' sontient le message d'erreur.
// Exemple : // sNomMachine est une chaine // sMessageErreur est une chaine // // sNomMachine=NetNomMachineSelonIp("192.168.1.1",sMessageErreur) // //rsultat ? // SI sNomMachine="" ALORS // Erreur(sMessageErreur) // SINON // Info("Le nom de la machine est : ",sNomMachine) // FIN
PROCEDURE NetNomMachineSelonIp(sParamAdresseIp,sParamErreurEnRetour="")
sAdresseIp est une chaîne //Stucture utilis par 'inet_addr' sockaddr est une structure eFamille est un entier sur 2 octets ePort est un entier sur 2 octets sans signe eAddr est un entier szInzero est une chaîne fixe sur 8 FIN //Structure pour Gethostbyname hostent est une structure eName est un entier eAliases est un entier eAddrtype est un entier sur 2 octets elength est un entier sur 2 octets eAddr_list est un entier FIN WsaData est une structure //Version de la DLL WinSock eVersion est un entier //Version maximum de la DLL WinSock support eMaxVersion est un entier //Texte qui dcrit la version d'implmentation (taille : WSADESCRIPTION_LEN+1%7) szDescription est une chaîne fixe sur 257 //Informations sur le statut et la configuration (taille : WSASYS_STATUS_LEN+19) szStatus est une chaîne fixe de 129 //Version des fonctionnalités autorise pour compatibilit avec les anciennes versions de WinSock infrieur 2 ecMAxSockets est un entier sur 2 octets sans signe //Version des fonctionnalités autorise pour compatibilit avec les anciennes versions de WinSock infrieur 1.1 ecMaxUdpDg est un entier sur 2 octets sans signe //Pointeur sur un strcture (ignor partir de WinSock 2) lpVendorInfo est un entier FIN //Nom de la dll WinSok sNomDllWinSock est une chaîne="WS2_32.DLL"//"WSock32.DLL" //INstance de la dll charge eInstanceWinSock est un entier //Cration d'une variable base sur la structure 'sockaddr' stSockaddr est un sockaddr //Cration d'une variable base sur la structure 'hostent' sthostent est un hostent //Cration d'une variable base sur la structure 'WsaData' stWsaData est un WsaData eVersionRequise est un entier =0x0202 //0x0202 pour version 2.0 (2 en min et en max) //Constante retourne e cas d'chec de inet_addr INADDR_NONE est un entier =0xffffffff //entier qui contiendra le rsultat de la structure pointe par 'gethostbyname' eptsthostent est un entier epteAddr est un entier //rsultat sNomMachineDistante est une chaîne="" sNom2MachineDistante est une chaîne=""
//récupération de l'adresse IP pass en paramtre sAdresseIp=sParamAdresseIp
//Chargement d'une instance de la DLL eInstanceWinSock = ChargeDLL(sNomDllWinSock)
SI eInstanceWinSock = 0 ALORS sParamErreurEnRetour="Chargement de WinSok impossible. Vrifier que TCP/IP est bien install."+RC+ErreurInfo() RENVOYER "" FIN
//Initialisation de Winsok SI AppelDLL32(sNomDllWinSock,"WSAStartup",eVersionRequise,&stWsaData) <> 0 ALORS sParamErreurEnRetour="Erreur"+RC+ErreurInfo() SINON //convertion de l'adresse IP au format attendu par la fonction 'gethostbyaddr' stSockaddr:eAddr=AppelDLL32(sNomDllWinSock,"inet_addr",sAdresseIp) // Vérification du rsultat SI stSockaddr:eAddr = INADDR_NONE ALORS //Adresse incorrect en numrique //Addresse Texte ? -> Résolution de l'adresse eptsthostent = AppelDLL32(sNomDllWinSock, "gethostbyname", sAdresseIp) SI eptsthostent = Null ALORS sParamErreurEnRetour="L'adresse n'a pas pu tre rsolue."+RC+ErreurInfo() SINON // Copie de la structure initialise par gethostbyname Transfert(&sthostent, eptsthostent, Dimension(sthostent)) //rcupration du nom ICI sNomMachineDistante=ChaîneRécupère (sthostent:eName,crAdresseASCIIZ) sNom2MachineDistante=ChaîneRécupère (sthostent:eAliases,crAdresseASCIIZ) //Note : sthostent:eAliases contient un alias du nom (un deuxième nom) FIN SINON eptsthostent = API(sNomDllWinSock,"gethostbyaddr", &stSockaddr:eAddr,Dimension(stSockaddr:eAddr),2) SI eptsthostent=Null ALORS sNomMachineDistante="L'adresse n'a pas pu tre rsolue."+RC+ErreurInfo() SINON // Copie de la structure initialise par gethostbyaddr Transfert(&sthostent, eptsthostent, Dimension(sthostent)) //rcupration du nom ICI sNomMachineDistante=ChaîneRécupère (sthostent:eName,crAdresseASCIIZ) sNom2MachineDistante=ChaîneRécupère (sthostent:eAliases,crAdresseASCIIZ) //Note : sthostent:eAliases contient un alias du nom (un deuxième nom) FIN FIN FIN
//décharge Winsock DéchargeDLL(eInstanceWinSock)
//2 noms ? SI sNom2MachineDistante<>"" ALORS //retourne les 2 noms RENVOYER sNomMachineDistante+TAB+sNom2MachineDistante SINON //retourne le nom de la machine s'il a t trouvé RENVOYER sNomMachineDistante FIN
-- En esperant t'avoir aidé. ted |
| |
| |
| | | |
|
| | |
| |
Posted on September, 28 2004 - 6:34 PM |
Impec ! Ca fonctionne merci.
"ted" <_s_p_a_m_ted.o@free.fr> a écrit dans le message de news:XnF9571F259F5B21tedofreefr@81.80.226.155...
Salut,
1) Il manque le chargement de la DLL -> risque de gpf
2) Il manque un appel à "WSAStartup"
3) Voisci un procédure complète que j'ai :
// Description des paramtres d'entre/sortie de 'NetNomMachineSelonIp' : //Cette fonction retourne le nom d'un machine partir de son adresse IP
// // Syntaxe : //[ <Rsultat> = ] NetNomMachineSelonIp (<sParamAdresseIp>[, <sParamErreurEnRetour>]) // // Paramtres : // sParamAdresseIp : Adresse IP de la machine dont on veut le nom // sParamErreurEnRetour : Message d'erreur en cas de pb // Valeur de retour : // chaine : Nom de la machine. Si 2 noms sont trouvs alors il sont séparés par une tabulation // Chaine vide si la résolution échoue. Dans ce cas 'sParamErreurEnRetour' sontient le message d'erreur.
// Exemple : // sNomMachine est une chaine // sMessageErreur est une chaine // // sNomMachine=NetNomMachineSelonIp("192.168.1.1",sMessageErreur) // //rsultat ? // SI sNomMachine="" ALORS // Erreur(sMessageErreur) // SINON // Info("Le nom de la machine est : ",sNomMachine) // FIN
PROCEDURE NetNomMachineSelonIp(sParamAdresseIp,sParamErreurEnRetour="")
sAdresseIp est une chaîne //Stucture utilis par 'inet_addr' sockaddr est une structure eFamille est un entier sur 2 octets ePort est un entier sur 2 octets sans signe eAddr est un entier szInzero est une chaîne fixe sur 8 FIN //Structure pour Gethostbyname hostent est une structure eName est un entier eAliases est un entier eAddrtype est un entier sur 2 octets elength est un entier sur 2 octets eAddr_list est un entier FIN WsaData est une structure //Version de la DLL WinSock eVersion est un entier //Version maximum de la DLL WinSock support eMaxVersion est un entier //Texte qui dcrit la version d'implmentation (taille : WSADESCRIPTION_LEN+1%7) szDescription est une chaîne fixe sur 257 //Informations sur le statut et la configuration (taille : WSASYS_STATUS_LEN+19) szStatus est une chaîne fixe de 129 //Version des fonctionnalités autorise pour compatibilit avec les anciennes versions de WinSock infrieur 2 ecMAxSockets est un entier sur 2 octets sans signe //Version des fonctionnalités autorise pour compatibilit avec les anciennes versions de WinSock infrieur 1.1 ecMaxUdpDg est un entier sur 2 octets sans signe //Pointeur sur un strcture (ignor partir de WinSock 2) lpVendorInfo est un entier FIN //Nom de la dll WinSok sNomDllWinSock est une chaîne="WS2_32.DLL"//"WSock32.DLL" //INstance de la dll charge eInstanceWinSock est un entier //Cration d'une variable base sur la structure 'sockaddr' stSockaddr est un sockaddr //Cration d'une variable base sur la structure 'hostent' sthostent est un hostent //Cration d'une variable base sur la structure 'WsaData' stWsaData est un WsaData eVersionRequise est un entier =0x0202 //0x0202 pour version 2.0 (2 en min et en max) //Constante retourne e cas d'chec de inet_addr INADDR_NONE est un entier =0xffffffff //entier qui contiendra le rsultat de la structure pointe par 'gethostbyname' eptsthostent est un entier epteAddr est un entier //rsultat sNomMachineDistante est une chaîne="" sNom2MachineDistante est une chaîne=""
//récupération de l'adresse IP pass en paramtre sAdresseIp=sParamAdresseIp
//Chargement d'une instance de la DLL eInstanceWinSock = ChargeDLL(sNomDllWinSock)
SI eInstanceWinSock = 0 ALORS sParamErreurEnRetour="Chargement de WinSok impossible. Vrifier que TCP/IP est bien install."+RC+ErreurInfo() RENVOYER "" FIN
//Initialisation de Winsok SI AppelDLL32(sNomDllWinSock,"WSAStartup",eVersionRequise,&stWsaData) <> 0 ALORS sParamErreurEnRetour="Erreur"+RC+ErreurInfo() SINON //convertion de l'adresse IP au format attendu par la fonction 'gethostbyaddr' stSockaddr:eAddr=AppelDLL32(sNomDllWinSock,"inet_addr",sAdresseIp)
// Vérification du rsultat SI stSockaddr:eAddr = INADDR_NONE ALORS //Adresse incorrect en numrique //Addresse Texte ? -> Résolution de l'adresse eptsthostent = AppelDLL32(sNomDllWinSock, "gethostbyname", sAdresseIp) SI eptsthostent = Null ALORS sParamErreurEnRetour="L'adresse n'a pas pu tre rsolue."+RC+ErreurInfo() SINON // Copie de la structure initialise par gethostbyname Transfert(&sthostent, eptsthostent, Dimension(sthostent)) //rcupration du nom ICI sNomMachineDistante=ChaîneRécupère (sthostent:eName,crAdresseASCIIZ) sNom2MachineDistante=ChaîneRécupère (sthostent:eAliases,crAdresseASCIIZ) //Note : sthostent:eAliases contient un alias du nom (un deuxième nom) FIN SINON eptsthostent = API(sNomDllWinSock,"gethostbyaddr", &stSockaddr:eAddr,Dimension(stSockaddr:eAddr),2) SI eptsthostent=Null ALORS sNomMachineDistante="L'adresse n'a pas pu tre rsolue."+RC+ErreurInfo() SINON // Copie de la structure initialise par gethostbyaddr Transfert(&sthostent, eptsthostent, Dimension(sthostent)) //rcupration du nom ICI sNomMachineDistante=ChaîneRécupère (sthostent:eName,crAdresseASCIIZ) sNom2MachineDistante=ChaîneRécupère (sthostent:eAliases,crAdresseASCIIZ) //Note : sthostent:eAliases contient un alias du nom (un deuxième nom) FIN FIN FIN
//décharge Winsock DéchargeDLL(eInstanceWinSock)
//2 noms ? SI sNom2MachineDistante<>"" ALORS //retourne les 2 noms RENVOYER sNomMachineDistante+TAB+sNom2MachineDistante SINON //retourne le nom de la machine s'il a t trouvé RENVOYER sNomMachineDistante FIN
-- En esperant t'avoir aidé. ted
|
| |
| |
| | | |
|
| | |
| |
Posted on September, 29 2004 - 11:20 AM |
au lieu de : strAdr est une chaîne = "192.168.1.102"+Caract(0) //Adresse valide du réseau utilise plutôt : strAdr est une chaîne asciiz sur 16 = "192.168.1.102" // 3*4+3 data + 1 pour le caract(0) et le Caract(0) devient inutile car automatique ! De plus c'est recommandé d'utiliser ce type de chaîne pour tout ce qui touche les appels aux DLL.
"Mathieu Kurth" <mkurth@difemax.com> a écrit dans le message de news:41549634@news.pcsoft.fr...
Voici le code (attention il y a trois procedures au total séparées par des
//Début... et //Fin...
//Début du code bouton hostent est une structure h_name est un entier h_addrtype est un entier sur 2 octets h_length est un entier sur 2 octets h_addr_list est un entier FIN iRetour est un entier strNom est une chaîne strAdr est une chaîne = "192.168.1.102"+Caract(0) //Adresse valide du
réseau
h_hostent est un hostent iIdAdresse est un entier iPointeur est un entier
SI init() ALORS iIdAdresse = API("Ws2_32","inet_addr",strAdr) SI iIdAdresse <> -1 ALORS iPointeur = API("Ws2_32","gethostbyaddr",&iIdAdresse,Dimension(iIdAdresse),2)
SI iPointeur <> 0 ALORS Transfert(&h_hostent,iPointeur,Dimension(h_hostent)) strNom = ChaîneRécupère(h_hostent:h_name,crAdresseASCIIZ) SINON Erreur(ErreurInfo()) FIN FIN fininit() FIN //fin du code bouton
//début du code de la procédure init() WSADATA est une structure wVersion est un entier sur 2 octets //Type C : WORD wHighVersion est un entier sur 2 octets //Type C : WORD szDescription est un caractère //Type C : char szSystemStatus est un caractère //Type C : char iMaxSockets est un entier //Type unsigned short non retrouvé (entier est le type le plus fréquent, mais à VERIFIER) > iMaxUdpDg est un entier //Type unsigned short non retrouvé (entier est le type le plus fréquent, mais à VERIFIER)
lpVendorInfo est un entier //Type C : pointeur sur char FAR FIN bRetour est un booléen ws est un WSADATA iRetour est un entier iRetour = API("Ws2_32","WSAStartup",257,&ws) SI iRetour = 0 ALORS bRetour = Vrai SINON bRetour = Faux FIN RENVOYER bRetour //fin procédure init()
//début code procédure fininti() API("Ws2_32","WSACleanup") //fin procedure fininit()
Le problème que j'ai c'est que la fonction api "gethostbyaddr" retourne un pointeur <> 0 seulement si je met un point d'arrêt ou l'instruction STOP avant l'appel de la fonction.
Mathieu
|
| |
| |
| | | |
|
| | |
| |
Posted on April, 14 2006 - 1:15 PM |
Salut ted !
Ta procédure pour récupérer le hostname selon l'ip est génial et fonctionne niquel.
Maintenant, je voulais savoir si tu savais faire le contraire, c'est à dire récupérer l'ip selon le hostname, car moi jessaie de faire un procédure pour cela en m'appuyant sur le tienne, mais je n'y arrive pas.
Si tu pouvais me donner un coup de main ça m'arrangerait.
Merci d'avance |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|