Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++ > C++Builder
C++Builder Environnement de développement RAD C++Builder. Avant de poster -> F.A.Q C++Builder, Sources C++Builder
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/04/2006, 15h17   #1
pottiez
Responsable Magazine

 
Avatar de pottiez
 
Homme Alexandre Pottiez
Développeur C++
Inscription : novembre 2005
Messages : 6 059
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Pottiez
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur C++
Secteur : Santé

Informations forums :
Inscription : novembre 2005
Messages : 6 059
Points : 23 690
Points : 23 690
Par défaut Trouver les adresses ip d'un réseau local

Bonjour a tous,
je voudrais savoir si il y a moyen de trouver les adresses ip des différentes postes d'un réseaux local.
Si vous avez une idée ca m'interrésse, car moi je n'en ai pas du tout (a par tester toute les adresse ip mais ce n'est pas possible vu le nombre d'adresse possible).
A plus
pottiez est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 15h45   #2
nemo69500
Membre éprouvé
 
Avatar de nemo69500
 
Inscription : juin 2005
Messages : 639
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 639
Points : 429
Points : 429
Tu vas dans favorie reseau et la tu recupere tous les nom dont tu ve l ip , ensuite tu fais demarer->executer et tu tape "cmd" puis entrer

ensuite tu tape "ping nom_de_ordi" et tu tape entrer et la tu a l ip
nemo69500 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 15h49   #3
pottiez
Responsable Magazine

 
Avatar de pottiez
 
Homme Alexandre Pottiez
Développeur C++
Inscription : novembre 2005
Messages : 6 059
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Pottiez
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur C++
Secteur : Santé

Informations forums :
Inscription : novembre 2005
Messages : 6 059
Points : 23 690
Points : 23 690
oui, mais je sous entendai que je voulais le faire dynamiquement.
excuse moi de m'être mal exprimé.
pottiez est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 15h51   #4
nemo69500
Membre éprouvé
 
Avatar de nemo69500
 
Inscription : juin 2005
Messages : 639
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 639
Points : 429
Points : 429
ba je suis dsl j vois pas maias la reponse a ca m interresse , si qqun connait
nemo69500 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 16h06   #5
niglo
Membre éclairé
 
Avatar de niglo
 
Inscription : octobre 2004
Messages : 379
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : octobre 2004
Messages : 379
Points : 342
Points : 342
Envoyer un message via MSN à niglo
Par exemple, tu peux faire un serveur sur le poste qui doit lister les ips !!
Ce serveur attend les connexions de toutes les machines du réseau local et les listent ! Problème de cette méthode : tu dois lancer une appli sur tous les postes de ton réseau local. Tout dépend de ton réseau local (taille, diverses contraintes...) et de ce que tu veux faire avec la liste dynamique des ips !!

Sinon, je ne vois rien d'autre pour le moment !
Désolé
niglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 16h10   #6
pottiez
Responsable Magazine

 
Avatar de pottiez
 
Homme Alexandre Pottiez
Développeur C++
Inscription : novembre 2005
Messages : 6 059
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Pottiez
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur C++
Secteur : Santé

Informations forums :
Inscription : novembre 2005
Messages : 6 059
Points : 23 690
Points : 23 690
En fait j'ai une appli qui se connecte a un serveur dont l'adresse ip est configurée et stocké dans un fichier, mais je voudrais que, si l'appli n'arrive pas a se connecter a l'adresse indiqué, elle cherche automatiquement si il n'y a pas un autre serveur démarré sur le réseau.
Je sais, c'est un peut fou, mais j'aimerais développer cette fonctionalité.
pottiez est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 16h53   #7
Freeze
Membre habitué
 
Avatar de Freeze
 
Homme
Inscription : octobre 2002
Messages : 125
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : octobre 2002
Messages : 125
Points : 147
Points : 147
Salut,

Tu devrais essayer ca :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
void TFPrincipal::EnumNetRes(NETRESOURCE *nr,int rtype,int rusage)
   {
   AnsiString temp;
   HANDLE hEnum;
   if (WNetOpenEnum(RESOURCE_GLOBALNET,rtype,rusage,nr,&hEnum)!=NO_ERROR)
      return;
   DWORD Count=-1;
   DWORD BufferSize=1024;
   DWORD ReturnVal=0;
   NETRESOURCE *NetRes=(NETRESOURCE *)new char[BufferSize];
   ZeroMemory(NetRes,BufferSize);
   for (;;)
      {
      ReturnVal=WNetEnumResource(hEnum,&Count,NetRes,&BufferSize);
      if (ReturnVal==ERROR_MORE_DATA)
         {
         Count=-1;
         delete []NetRes;
         NETRESOURCE *NetRes=(NETRESOURCE *)new char[BufferSize];
         ZeroMemory(NetRes,BufferSize);
         ReturnVal=WNetEnumResource(hEnum,&Count,NetRes,&BufferSize);
         }
      if (ReturnVal!=NO_ERROR)   break;
      for (DWORD i=0;i<Count;i++)
         {
         if (NetRes[i].dwDisplayType==RESOURCEDISPLAYTYPE_SERVER)
         {
            temp=NetRes[i].lpRemoteName;
            LB->Items->Add(temp.SubString(3,temp.Length()));
         }
         if (( NetRes[i].dwUsage & RESOURCEUSAGE_CONTAINER)==RESOURCEUSAGE_CONTAINER)
            EnumNetRes(&NetRes[i],rtype,rusage);
         }
      if (ReturnVal==ERROR_NO_MORE_ITEMS)
         {
         delete []NetRes;
         WNetCloseEnum(hEnum);
         }
      }
   delete []NetRes;
   WNetCloseEnum(hEnum);
   }
//---------------------------------------------------------------------------
bon pour le moment j'ai mis le résultat dans une listbox que j'ai appelé LB
, tu peux appeler cette fonction comme ca :

Code :
1
2
 
EnumNetRes(0,RESOURCETYPE_ANY,0);
ca te donne le nom des postes ... si ca peut t'aider ...
Freeze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2006, 00h53   #8
pottiez
Responsable Magazine

 
Avatar de pottiez
 
Homme Alexandre Pottiez
Développeur C++
Inscription : novembre 2005
Messages : 6 059
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Pottiez
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur C++
Secteur : Santé

Informations forums :
Inscription : novembre 2005
Messages : 6 059
Points : 23 690
Points : 23 690
Merci beaucoup, cela me suffit amplement.
pottiez est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2010, 14h03   #9
menoran
Débutant
 
saa sa
Inscription : février 2010
Messages : 105
Détails du profil
Informations personnelles :
Nom : saa sa

Informations forums :
Inscription : février 2010
Messages : 105
Points : -8
Points : -8
Envoyer un message via MSN à menoran Envoyer un message via Skype™ à menoran
bjour j'ai voulu essayer ce procedure en modifiant just l'affichage et sa ma pas marché elle rien afficher . merci d'avance
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
void TFPrincipal::EnumNetRes(NETRESOURCE *nr,int rtype,int rusage)
   {
   AnsiString temp;
   HANDLE hEnum;
   if (WNetOpenEnum(RESOURCE_GLOBALNET,rtype,rusage,nr,&hEnum)!=NO_ERROR)
      return;
   DWORD Count=-1;
   DWORD BufferSize=1024;
   DWORD ReturnVal=0;
   NETRESOURCE *NetRes=(NETRESOURCE *)new char[BufferSize];
   ZeroMemory(NetRes,BufferSize);
   for (;;)
      {
      ReturnVal=WNetEnumResource(hEnum,&Count,NetRes,&BufferSize);
      if (ReturnVal==ERROR_MORE_DATA)
         {
         Count=-1;
         delete []NetRes;
         NETRESOURCE *NetRes=(NETRESOURCE *)new char[BufferSize];
         ZeroMemory(NetRes,BufferSize);
         ReturnVal=WNetEnumResource(hEnum,&Count,NetRes,&BufferSize);
         }
      if (ReturnVal!=NO_ERROR)   break;
      for (DWORD i=0;i<Count;i++)
         {
         if (NetRes[i].dwDisplayType==RESOURCEDISPLAYTYPE_SERVER)
         {
            temp=NetRes[i].lpRemoteName;
            ShowMessage(temp.SubString(3,temp.Length()));
         }
         if (( NetRes[i].dwUsage & RESOURCEUSAGE_CONTAINER)==RESOURCEUSAGE_CONTAINER)
            EnumNetRes(&NetRes[i],rtype,rusage);
         }
      if (ReturnVal==ERROR_NO_MORE_ITEMS)
         {
         delete []NetRes;
         WNetCloseEnum(hEnum);
         }
      }
   delete []NetRes;
   WNetCloseEnum(hEnum);
   }
et je l'ai appler dans ma code avec :
Code :
EnumNetRes(0,RESOURCETYPE_ANY,0);
__________________
Je réponds à toutes vos questions claires et bien expliquées, si je sais bien sûr.Merci d'avoir pris quelques minutes pour faire bien.
menoran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2010, 14h06   #10
pottiez
Responsable Magazine

 
Avatar de pottiez
 
Homme Alexandre Pottiez
Développeur C++
Inscription : novembre 2005
Messages : 6 059
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Pottiez
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur C++
Secteur : Santé

Informations forums :
Inscription : novembre 2005
Messages : 6 059
Points : 23 690
Points : 23 690
Salut,
comment s'appelle la fenêtre principal de ton application ?
__________________
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

Lisez le magazine de developpez.com.
Mes tutos : http://pottiez.developpez.com

La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
pottiez est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2010, 14h12   #11
menoran
Débutant
 
saa sa
Inscription : février 2010
Messages : 105
Détails du profil
Informations personnelles :
Nom : saa sa

Informations forums :
Inscription : février 2010
Messages : 105
Points : -8
Points : -8
Envoyer un message via MSN à menoran Envoyer un message via Skype™ à menoran
Form1, mais moi j'ai enlever TFPrincipal::
merci d'avance
__________________
Je réponds à toutes vos questions claires et bien expliquées, si je sais bien sûr.Merci d'avoir pris quelques minutes pour faire bien.
menoran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2010, 14h18   #12
pottiez
Responsable Magazine

 
Avatar de pottiez
 
Homme Alexandre Pottiez
Développeur C++
Inscription : novembre 2005
Messages : 6 059
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Pottiez
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur C++
Secteur : Santé

Informations forums :
Inscription : novembre 2005
Messages : 6 059
Points : 23 690
Points : 23 690
Alors dans les fichier .cpp de ta fenêtre principal tu ajoute le code donnée dans cette discussion en remplaçant TFPrincipal par TForm1
Dans le .h de la même fenêtre tu dois avoir du code qui ressemble à cela, ajout-y la ligne que j'ai mis en rouge :
Code :
1
2
3
4
5
6
7
8
9
class TForm1 : public TForm
{
  published :
  ...
  public :
  TForm1(TObject* Owner);
  ...
  void EnumNetRes(NETRESOURCE *nr,int rtype,int rusage);
};
Et maintenant tu n'as plus qu'a appeler cette méthode d'où tu veut dans la fenêtre principal
__________________
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

Lisez le magazine de developpez.com.
Mes tutos : http://pottiez.developpez.com

La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
pottiez est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2010, 14h31   #13
menoran
Débutant
 
saa sa
Inscription : février 2010
Messages : 105
Détails du profil
Informations personnelles :
Nom : saa sa

Informations forums :
Inscription : février 2010
Messages : 105
Points : -8
Points : -8
Envoyer un message via MSN à menoran Envoyer un message via Skype™ à menoran
toujour le meme probleme il m'affiche pas les nom des machines de reseau
enfait avant que vous me reponder il compile sans erreur et meme maintenant avec le changement que vous m'avez donné il compile sans erreur mais il m'affiche pas ( si on vois dans la procedure il ya un showmessage en rouge). merci d'avance
__________________
Je réponds à toutes vos questions claires et bien expliquées, si je sais bien sûr.Merci d'avoir pris quelques minutes pour faire bien.
menoran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2010, 15h43   #14
pottiez
Responsable Magazine

 
Avatar de pottiez
 
Homme Alexandre Pottiez
Développeur C++
Inscription : novembre 2005
Messages : 6 059
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Pottiez
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur C++
Secteur : Santé

Informations forums :
Inscription : novembre 2005
Messages : 6 059
Points : 23 690
Points : 23 690
Je ne comprend pas, chez moi ca m'affiche bien tous les noms de machine correctement et j'ai ce code la
__________________
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

Lisez le magazine de developpez.com.
Mes tutos : http://pottiez.developpez.com

La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
pottiez est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2010, 16h22   #15
Fbartolo
Membre éprouvé
 
Inscription : décembre 2004
Messages : 531
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 531
Points : 452
Points : 452
ça marche bien pour moi, mais cela ne voit pas les passerelles et routeur.
je me demande ou cela va chercher ces infos (DNS ?) car c'est très rapide, cela ne doit pas être une fonction découverte ???

Moi un Scan IP met environs 1 minute par bloc de 255 adresse. et là ça prend 1 seconde...
Fbartolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2010, 16h26   #16
pottiez
Responsable Magazine

 
Avatar de pottiez
 
Homme Alexandre Pottiez
Développeur C++
Inscription : novembre 2005
Messages : 6 059
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Pottiez
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur C++
Secteur : Santé

Informations forums :
Inscription : novembre 2005
Messages : 6 059
Points : 23 690
Points : 23 690
Je ne sais pas non plus comment il fait, mais chez moi ca met environ 30 secondes pour qu'il me sorte tous les postes sur mon réseau, mais ca marche bien
__________________
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

Lisez le magazine de developpez.com.
Mes tutos : http://pottiez.developpez.com

La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
pottiez est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2010, 16h54   #17
Fbartolo
Membre éprouvé
 
Inscription : décembre 2004
Messages : 531
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 531
Points : 452
Points : 452
si tu pouvais mettre un nouveau poste inconnu du réseau pour voir... la première fois
Tu as combien de poste Potiez sur ton réseau ??
Fbartolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2010, 16h58   #18
pottiez
Responsable Magazine

 
Avatar de pottiez
 
Homme Alexandre Pottiez
Développeur C++
Inscription : novembre 2005
Messages : 6 059
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Pottiez
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur C++
Secteur : Santé

Informations forums :
Inscription : novembre 2005
Messages : 6 059
Points : 23 690
Points : 23 690
La sur le réseau de ma boite il y a 21 postes, et je ne peut pas brancher d'autres postes désolé
__________________
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

Lisez le magazine de developpez.com.
Mes tutos : http://pottiez.developpez.com

La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
pottiez est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2010, 09h56   #19
menoran
Débutant
 
saa sa
Inscription : février 2010
Messages : 105
Détails du profil
Informations personnelles :
Nom : saa sa

Informations forums :
Inscription : février 2010
Messages : 105
Points : -8
Points : -8
Envoyer un message via MSN à menoran Envoyer un message via Skype™ à menoran
est ce que vous avez utiliser le code que j'ai noté la dessus et avec ce code il vous affiche les nom d'utilisateur?? .
moi il compile mais pendant l'execution il m'affiche rien !!!
merci d'avance.
__________________
Je réponds à toutes vos questions claires et bien expliquées, si je sais bien sûr.Merci d'avoir pris quelques minutes pour faire bien.
menoran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2010, 10h20   #20
pottiez
Responsable Magazine

 
Avatar de pottiez
 
Homme Alexandre Pottiez
Développeur C++
Inscription : novembre 2005
Messages : 6 059
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Pottiez
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur C++
Secteur : Santé

Informations forums :
Inscription : novembre 2005
Messages : 6 059
Points : 23 690
Points : 23 690
J'ai bien pris le code que tu avait posté toi, et chez moi ca marche, donc c'est pas un problème de codage, peut être la configuration du réseau ou de ton poste
__________________
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

Lisez le magazine de developpez.com.
Mes tutos : http://pottiez.developpez.com

La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
pottiez est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h20.


 
 
 
 
Partenaires

Hébergement Web