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:
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é
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]); }
Est ce que il y a un moyen de faire un ping rapide ?
Ou s'il y a une autre solution ? Merci
Partager