IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Trouver les adresses ip d'un réseau local [Sources]


Sujet :

C++Builder

  1. #1
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    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
    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 .

  2. #2
    Membre confirmé Avatar de nemo69500
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 639
    Points : 519
    Points
    519
    Par défaut
    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
    *************##--##***************
    www.ptichoupi.fr



    Pensez au
    De tmps en tps du repos, ca fais du bien!

    ************//////\\\\\\**************

  3. #3
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    oui, mais je sous entendai que je voulais le faire dynamiquement.
    excuse moi de m'être mal exprimé.
    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 .

  4. #4
    Membre confirmé Avatar de nemo69500
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 639
    Points : 519
    Points
    519
    Par défaut
    ba je suis dsl j vois pas maias la reponse a ca m interresse , si qqun connait
    *************##--##***************
    www.ptichoupi.fr



    Pensez au
    De tmps en tps du repos, ca fais du bien!

    ************//////\\\\\\**************

  5. #5
    Membre averti Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Points : 383
    Points
    383
    Par défaut
    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é

  6. #6
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    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é.
    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 .

  7. #7
    Membre habitué
    Avatar de Freeze
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 131
    Points : 162
    Points
    162
    Par défaut
    Salut,

    Tu devrais essayer ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EnumNetRes(0,RESOURCETYPE_ANY,0);
    ca te donne le nom des postes ... si ca peut t'aider ...

  8. #8
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Merci beaucoup, cela me suffit amplement.
    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 .

  9. #9
    Débutant
    Inscrit en
    Février 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 105
    Points : 20
    Points
    20
    Par défaut
    bjour j'ai voulu essayer ce procedure en modifiant just l'affichage et sa ma pas marché elle rien afficher . merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  10. #10
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    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 .

  11. #11
    Débutant
    Inscrit en
    Février 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 105
    Points : 20
    Points
    20
    Par défaut
    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.

  12. #12
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 .

  13. #13
    Débutant
    Inscrit en
    Février 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 105
    Points : 20
    Points
    20
    Par défaut
    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.

  14. #14
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    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 .

  15. #15
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Points : 537
    Points
    537
    Par défaut
    ç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...

  16. #16
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    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 .

  17. #17
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Points : 537
    Points
    537
    Par défaut
    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 ??

  18. #18
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    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 .

  19. #19
    Débutant
    Inscrit en
    Février 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 105
    Points : 20
    Points
    20
    Par défaut
    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.

  20. #20
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    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 .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment savoir toutes les adresses IP dans un réseau local ?
    Par andrianiaina dans le forum Administration
    Réponses: 13
    Dernier message: 01/09/2010, 13h56
  2. [XL-2003] adresse arborescence fichier en réseau local
    Par billx06 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/05/2010, 13h21
  3. Réponses: 0
    Dernier message: 27/10/2009, 14h14
  4. [Débutant] les bases de données pour réseau local ou monopost
    Par maximedu42 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/11/2007, 11h19
  5. Liste les domaines et les postes du domaines dans Réseau Local
    Par bnisaid dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 23/04/2007, 08h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo