bouzakaria
Messages postés2Date d'inscriptionlundi 7 mars 2011StatutMembreDernière intervention30 avril 2011
-
30 avril 2011 à 17:32
pop70
Messages postés181Date d'inscriptionmardi 6 avril 2010StatutMembreDernière intervention 7 janvier 2012
-
30 avril 2011 à 21:20
bonjour
j'utilise actuellement le programme pingueur.c pour simuler la commande dos ping (protocole ICMP), lorsque l'adresse IP est correcte le programme fonctionne bien, mais si je tape une adresse inexistante ou réseau non fonctionnel, il m'affiche "délai d'attente dépassé".
1) voci la partie du programme affichant ce message :
if (select(sock+1, &fdsr, NULL, NULL, &tv_timeout) <= 0)
{
// Dans le cas où le temps est écoulé, on veut sortir de la boucle
// on compte le paquet comme envoyé mais perdu
printf("D\202lai d'attente de la demande depass\202.\n");
2) En principe il doit afficher les autres cas lorsque le type
est différent de 8
if((icmphdr->type)!=8 && (icmphdr->code)!=0)
{
// En cas d'erreur, identification
switch(icmphdr->type)
{
case 3 :
printf("R\202ponse de %s : %s.\n", inet_ntoa(from- >sin_addr), Erreur3[icmphdr->code]);
envoye++;
return 1;
case 4 :
printf("R\202ponse de %s : %s.\n", inet_ntoa(from->sin_addr), Erreur4[icmphdr->code]);
envoye++;
return 1;
case 5 :
printf("R\202ponse de %s : %s.\n", inet_ntoa(from->sin_addr), Erreur5[icmphdr->code]);
envoye++;
return 1;
case 11 :
printf("R\202ponse de %s : %s.\n", inet_ntoa(from->sin_addr), Erreur11[icmphdr->code]);
envoye++;
return 1;
case 12 :
printf("R\202ponse de %s : %s.\n", inet_ntoa(from->sin_addr), Erreur12[icmphdr->code]);
envoye++;
return 1;
pop70
Messages postés181Date d'inscriptionmardi 6 avril 2010StatutMembreDernière intervention 7 janvier 201210 30 avril 2011 à 21:20
Salut,
je ne comprends pas bien, ça me parait normal que ce message s'affiche, si l'adresse envoyée au ping n'existe pas, les paquets partent nulle part, et comme le ping calcule le temps jusqu'à ce qu'il reviennent et qui ne les reçoit jamais, au bout d'un moment il arrête l’exécution puis informe que le délai est dépassé. Non ?