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#

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    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 : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    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 régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 99
    Points : 122
    Points
    122
    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 : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    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
    Points : 6 334
    Points
    6 334
    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 ?

  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 : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    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 régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    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 : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

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

  9. #9
    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
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par ced600 Voir le message
    Et envoyé une simple requette HTTP au serveur et attendre une réponse ?
    Quand tu veut appeler ta femme, est ce que tu lui envoies un SMS avant pour savoir si elle va te répondre ?

  10. #10
    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 : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Je sais mais là il cherche une solution de contournement.

    Il peut aussi poster son code avec la gestion des exceptions et on lui dira s'il a mal fait quelque chose.

    En même temps envoyer un SMS à sa femme pour lui dire que tu l'appelles dans 5 minutes cela lui permet de se préparer au coup de fil. On ne sait jamais elle pourrait être très occupés et pas seul
    Bon ok j'ai pas de femme

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut
    Merci de vous intéresser à mon ch'ti problème... Au moins je sais ce qu'il ne faut pas faire pour appeler ma femme

    Comme l'a dit ced600, je cherchais une solution de contournement pour ne pas réécrire beaucoup de code ... mais bon vous m'avez convaincu, je vais reprendre le problème depuis le début...

    Vu de l'extérieur, cela peut paraitre débile de joindre le serveur pour voir si on peut le joindre... mais mon process de transfert est long et compliqué donc je voyais plus le ping comme un moyen de m'assurer que tout était OK et que je pouvais envoyer mes fichiers.

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