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# Discussion :

boucle ping en C# [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Par défaut boucle ping en C#
    Bonjour,
    je ne sais pas du tout si c'est possible de le faire en C# et je ne m'y connais pas du tout
    j'ai testé via script et batch mais je n'ai pas vraiment ce que je veux
    alors je pose ma question ici :

    je cherche à faire des ping sur mon LAN, sur des IP connu toutes les heures ou toutes les X heures....
    je veux que pour une IP je sache si le ping est OK ou KO
    Le but étant d'avoir cette information dans un document type csv ou txt que je puisse travailler par la suite pour en extraire les informations et les traiter..

    et si possible que la liste des ip soit dans un fichier que l'on peut modifier facilement (rajout de nouveau matériel ou suppressions)

    PS:
    Pour plus d'infos j'ai déjà 2 discussion sur le sujet dans d'autres sections
    https://www.developpez.net/forums/d1.../#post10889819
    https://www.developpez.net/forums/d1.../#post10763968

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 428
    Par défaut
    Bonjour,
    C'est tout à fait possible, d'ailleurs j'ai un programme qui le fait et qui est lancé toutes les 5 minutes via une tâche planifiée.
    Tu as la classe Ping qui permet de le faire, via la méthode Send().

    Pour le reste (les fichiers d'adresses et de résultat), tu peux commencer par regarder dans System.IO, il y a tout ce qu'il faut.

    Tatayo.

  3. #3
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Par défaut
    Merci de ta réponse.....
    va falloir que je me mettre a apprendre pour lire le C# d'abord....

    je vais fouiller

  4. #4
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Par défaut
    c'est là que je reviens...
    j'ai essayé de faire l'exemple trouver ici


    https://docs.microsoft.com/fr-fr/dotnet/api/system.net.networkinformation.ping?view=netframework-4.8

    mais j'ai une erreur à la ligne 24
    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
    using System;
    using System.Net;
    using System.Net.NetworkInformation;
    using System.Text;
     
    namespace Examples.System.Net.NetworkInformation.PingTest
    {
        public class PingExample
        {
            // args[0] can be an IPaddress or host name.
            public static void Main (string[] args)
            {
                Ping pingSender = new Ping ();
                PingOptions options = new PingOptions ();
     
                // Use the default Ttl value which is 128,
                // but change the fragmentation behavior.
                options.DontFragment = true;
     
                // Create a buffer of 32 bytes of data to be transmitted.
                string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
                byte[] buffer = Encoding.ASCII.GetBytes (data);
                int timeout = 120;
                PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
                if (reply.Status == IPStatus.Success)
                {
                    Console.WriteLine ("Address: {0}", reply.Address.ToString ());
                    Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
                    Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
                    Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
                    Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
                }
            }
        }
    }
    Nom : Capture.PNG
Affichages : 723
Taille : 42,9 Ko

    je m'arrache les cheveux....
    car je suis sur que si cela fonctionnait j'aurais une grosse partie de ce que je souhaite faire...

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,
    C'est écrit dans ton code en commentaire :
    // args[0] can be an IPaddress or host name.
    Il faut fournir à ton programme un paramètre d'entrée (un argument de la ligne de commande). Tu peux le définir dans les propriétés de ton projet (Properties/Déboguer/Options de démarrage)

  6. #6
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Par défaut
    Bonjour,
    merci pour l'aide.
    je me remets depuis hier sur le sujet
    et j'ai potassé un peu sur internet pour comprendre un peu plus le C#
    ayant voulu me lancé sans avoir rien lu...
    j'ai réussi mon premier truc (avec de l'aide et le Web)
    https://www.developpez.net/forums/d1971694/dotnet/langages/csharp/lire-ecrire-fichier/#post10935558

    j'ai du coup compris ce que tu me disais ebastien quand tu parlais de "les propriétés de ton projet"....

    et cela fonctionne
    maintenant si je veux aller chercher les ip qui sont dans mon fichier texte plutôt que dans la zone "propriétés du projet"
    je sais écrire je dois savoir lire et récupérer les infos d'une liste que je peux modifier facilement est ce possible ?
    (toujours je ne souhaite pas la solution mais savoir si c'est possible et une piste)


    Merci

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

Discussions similaires

  1. Une boucle avec la command PING
    Par alid0381 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 08/06/2012, 10h40
  2. [Batch] Une boucle avec la command PING
    Par alid0381 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 06/06/2012, 12h33
  3. Une boucle avec la command PING
    Par alid0381 dans le forum Windows
    Réponses: 0
    Dernier message: 30/05/2012, 20h38
  4. [Batch] Tester ping/share dans une boucle FOR
    Par Mocodo dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 17/03/2010, 13h39
  5. Réponses: 12
    Dernier message: 22/04/2009, 13h02

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