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

Bibliothèque standard C Discussion :

Problème avec system()


Sujet :

Bibliothèque standard C

  1. #1
    Membre averti Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Points : 414
    Points
    414
    Par défaut Problème avec system()
    Bonjour a tous,

    alors, je suis entrain de modifier un serveur DHCP en ajoutant une nouvelle option a ce dernier.

    le contenu de l'option sera une adresse ip d'une poste "serveur", et pour être sur que le serveur existe, j'ai fait un ping sur l'adresse du serveur, s'il existe alors je peut l'envoyer, sinon la nouvelle option ne sera pas ajouter....

    voici le code:
    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
     
    char *str_apc_ip;
        char execute_cmd[255];
     
        if(p_opt->len) //Pour tester sur l'existance d'une option de la provenance du client
        {
            if(strcmp(p_opt->data, OPTION_43_CLIENT_VALUE)==0) // tester si l'option envoyé par le client est valide
            {
                str_apc_ip = read_ip_from_file(); // lire l'address du serveur si elle existe
     
                if((strcmp(str_apc_ip,"")==0)) // si l'address su serveur n'existe pas
                {
                   printf("Saved IP not valid \n");
                }
                else // sinon si l'addresse su serveur existe
                {
                    sprintf(execute_cmd, "ping %s", str_apc_ip);
                    int ret = system(execute_cmd);
                    if(ret>0)
                    {
                        printf("Ping : No response Saving New IP\n");
                    }
                }
            }
          printf("Adding Option\n");
     add_option_43(&p_server_options[DHO_VENDOR_ENCAPSULATED_OPTIONS]);
    }
    Mon problème est que le délai de l'opération Ping est très long dans le cas d'une adresse non valide... et je pense que le client ne reçoit pas la réponse du serveur parce que le délai est dépassé

    Est ce que il y a un moyen de faire un ping rapide ?
    Ou s'il y a une autre solution ? Merci
    "La créativité est faites d'attention et de respect pour les petits faits de la vie."

  2. #2
    Membre averti Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Points : 444
    Points
    444
    Par défaut
    salut,
    Il n'y a pas un time_out à régler quelquepart?

Discussions similaires

  1. Problème avec System.out.println sous Netbeans
    Par franklin626 dans le forum NetBeans
    Réponses: 2
    Dernier message: 23/04/2008, 16h08
  2. Problème avec System.CodeDom
    Par spidey87 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 20/11/2007, 09h45
  3. Problème avec System.Data.Odbc
    Par Chii-san dans le forum VB.NET
    Réponses: 2
    Dernier message: 14/08/2007, 14h41
  4. [Système] Problème avec system()
    Par bartrik dans le forum Langage
    Réponses: 2
    Dernier message: 07/06/2007, 10h46
  5. problème avec System.management
    Par arabimouh dans le forum Windows Mobile
    Réponses: 2
    Dernier message: 24/05/2007, 16h50

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