Bonsoir,
dans le cadre de mon stage, je dois réaliser une application en C qui doit enregistrer des adresses IP avec leur MAC dans une BD. L'application doit pouvoir vérifier plusieurs VLAN (une bonne vingtaine avec des masques de sous-réseau différents)
mon problème est le suivant :
j'aimerais bien threader l'application afin qu'elle fonctionne plus vite. Seulement, je remarque que lorsque mon applicationest sur le même VLAN, elle met le même temps d'exécution avec 1 thread ou avec 6 threads.
voici la façon dont je réalise le ping :
je crois que la fonction "system" n'est pas réentrante. Ce qui (je crois) bloque les threads.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sprintf(cping,"ping -c %d -s %d -w %d %s",lec->nombre_req,lec->taille_req,lec->temps,ip); ret=system(cping);
J'aurais bien voulu savoir comment je pourrait faire. J'ai déjà essayé de faire les ping avec les execs. Seulement, avec 6 threads, cela ralenti considérablement la machine.
Est-ce qu'il y aurait un autre moyen?
merci d'avance
Fredonouille






Répondre avec citation





Partager