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 :

Fonctionnement du Ping


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Par défaut Fonctionnement du Ping
    Bonjour à tous,

    J'ai un prog en C# 2.0 qui transmet des infos en FTP à intervalles réguliers. Chez un client, il semblerait qu'il y ait une instabilité de liaison ADSL. Bref, je voudrais avant d'envoyer mes infos, m'assurer que le serveur distant est bien joignable.

    Fastoche, on va faire un ping Et là, je viens d'avoir une grosse surprise j'ai un site parfaitement joignable où les pages web s'affichent normalement mais ou le ping échoue

    Je ne parle pas seulement de la procédure sous C#, un ping à l'invite de commande échoue tout pareil !!! Y a t il une option ou un protocole particulier ?

    Pour info, ce site ( hébergé chez Ikoula) m'avait déjà cassé les pieds au moment de la mise au point du module de transmission FTP. Ce site est le seul qui exige un protocole FTP en mode actif.

    Voyez vous une autre solution pour m'assurer à un instant t qu' un serveur est joignable.

    Pour le ping, j'utilise le code de l'aide C# :
    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
     
                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;
                // w_host est initialisée avec une expression genre
                //  www.monsite.com
                PingReply reply = pingSender.Send (w_host, timeout, buffer, options);
                if (reply.Status == IPStatus.Success)
                {
                    MessageBox.Show("Adresse IP de " + w_Host + " : " + 
                }
                else
                    MessageBox.Show("Ping infructueux...");

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Le Ping est un protocole TCP comme un autre, et, à ce titre, peut parfaitement être filtré par les firewalls.

    Ergo, ton problème n'a rien d'extraordinaire

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 99
    Par défaut
    Bonjour,

    Perso, quand je téléphone à quelqu'un je n'appelle pas une première fois juste pour savoir si je peux l'appeler!

    Le Ping est un protocole TCP comme un autre
    Le "ping" c'est la fonction echo d'ICMP qui est un protocole d'IP.

    Passo

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par realpasso Voir le message
    Le "ping" c'est la fonction echo d'ICMP qui est un protocole d'IP.
    Exact, je reconnais que j'ai fait un raccourci ici.

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par realpasso Voir le message
    Le "ping" c'est la fonction echo d'ICMP qui est un protocole d'IP.
    Voila qui est mieux
    giloutho : En fait, quand tu fais un ping, tu envoies un paquet ICMP echo request, la destination te repondra par un echo reply (c'est ce qu'on appelle en général le pong).

    Sinon, en effet je rejoint la remarque de realpasso, pourquoi tu veux faire un ping avant, tu n'as qu'à gérer les exceptions lancées par la connexion FTP en cas d'échec, non ?
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Ou tu balance un virus chez le client et il ne t'embétera plus

    Ok Ok je reste sérieux.

    La gestion des exceptions lancées par la connexion FTP reste la meilleur solution je pense.

    Autre solution :
    Comme c'est un site web tu dois pouvoir lui envoyer une requette HTTP et attendre et analyser sa réponse.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Par défaut
    Merci pour vos réponses...

    pourquoi tu veux faire un ping avant, tu n'as qu'à gérer les exceptions lancées par la connexion FTP en cas d'échec, non ?
    J'ai tenté le coup mais sans satisfaction totale... Je m'y suis peut être mal pris...

    Cette voie était également dictée par un souci de fonctionnalité de l'appli. Cela me simplifie grandement la vie de dire :
    problème sur la connexion au serveur distant -> pas de transfert FTP mais traitement spécial

    Mais sur le fond tu as raison, on peut gérer l'exception au niveau de la connexion FTP... mais nécessite une restructuration importante du code

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Et envoyé une simple requette HTTP au serveur et attendre une réponse ?

Discussions similaires

  1. Ping en asp qui ne fonctionne pas
    Par vinny_273 dans le forum ASP
    Réponses: 5
    Dernier message: 30/04/2008, 00h43
  2. Réponses: 3
    Dernier message: 05/02/2008, 10h03
  3. Script bash : Ping ne fonctionne pas
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 29/08/2007, 20h09
  4. premier ping ne fonctionne jamais
    Par Général03 dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/07/2007, 09h29
  5. Internet fonctionne mais pas les ping
    Par will06 dans le forum Administration
    Réponses: 11
    Dernier message: 15/06/2007, 10h29

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