Winsock : Le nom de la machine

Résolu
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011 - 29 juin 2006 à 16:46
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 - 30 juin 2006 à 06:03
hello tout le monde, bon voila j'ai un petit probleme, j'essay de recuperer le nom de ma machine par Winsock (si vous connaisez un proceder plus simple je suis preneur)
donc reprenont, je fait :

#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
#include <stdio.h>
void main()
{
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;

char *buffer = new char[255];
char * name = new char[255];

/* Tout est configuré pour se connecter sur IRC, haarlem, Undernet. */
sock = socket(AF_INET, SOCK_STREAM, 0);
sin.sin_addr.s_addr            = inet_addr("127.0.0.1");
sin.sin_family                = AF_INET;
sin.sin_port                = htons(80);
connect(sock, (SOCKADDR *)&sin, sizeof(sin));
recv(sock, buffer, sizeof(buffer), 0);

gethostbyname(name); // voila
printf("%s",name); // ou MessageBox(0,name,"nom",0);

closesocket(sock);
WSACleanup();
}

que j'utilise printf ou message box j'obtient toujour : "======================²²²²" ou "ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ`y`y`y"
que faire ?? merci
sachant que le nom reel de mon PC est : "PCTEK"

5 réponses

Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
29 juin 2006 à 17:27
Utilise la fonction gethostname.

[getcomputername.htm GetComputerName] sous Windows devrait aussi marcher.
3
gbourgeois0019 Messages postés 152 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 2 juin 2008 1
29 juin 2006 à 18:36
la fonction gethostbyname va te retourner une structure hostent. Par exemple tu peut faire gethostbyname("www.microsft.com"); et puis tu pourra ainsi retrouver des infos sur microsoft.com dont son adresse ip.

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !
0
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
29 juin 2006 à 21:12
c pas sa que je cherche, je cherche a utiliser un element unique du PC exemple une cle de Hardware ou quoi que se soit, car je doit filer mon prog a un mec et j'ai pas trop confiance, donc j'aimerai qu'il ne puisse l'utiliser que sur son PC. donc j'ai penser a
if(Nom PC != GetHos....)
return 0;

mais bon. je cherche une solution
0
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
30 juin 2006 à 06:01
Dans ce cas ne prends pas le nom de la machine: il est éditable à volonté.


En revanche numéro de série du disque dur+modèle de carte
graphique+version windows+nom utilisateur windoz+etc ça donne un genre
de GUID plutôt unique même s'il n' a pas de carte réseau.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
30 juin 2006 à 06:03
Pour ton code socket ci-dessus, t'as vu que tu te connectes en local
sur le port 80? si aucun serveur HTTP n' écoute, retourne que dalle.
Aucun rapport avec le  hostname en plus.
0
Rejoignez-nous