Thread socket icmp

ghanmi04_05 Messages postés 20 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 23 mars 2010 - 10 juil. 2009 à 15:20
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 18 juil. 2009 à 20:14
Bonjour
j'ai un programme qui lance des threads de contrôle des interfaces réseaux disponible sur une machine quelconque(windows).
Si je lance une fonction qui sniff une adresse ip, ça marche,pas de soucie, j'aurai un paquet qui contient l'@ip source/destination, les ports, cheksum, ttl et le protocol(tcp/udp..)
Par contre si je lance un thread qui sniff une interface(@ip) ça me retourne que les packets de protocol icmp
je suis coincé là
Je code en c++/c, socket et Thread avec api
/*****************/
ThreadHandle=CreateThread(NULL,NULL,LaunchThreadNetInterface,(void*)(&Interface),0,&ThreadID);
/****************/
Windows(pas Linux)
help

1 réponse

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
18 juil. 2009 à 20:14
Salut,

* Relis trois fois.
* Relis une quatrième fois.

Aaaaaaaaaaaaaaaaah.

LaunchThreadNetInterface(&Interface); /* Marche */
ThreadHandle=CreateThread(NULL,NULL,LaunchThreadNetInterface,(void*)(&Interface),0,&ThreadID); /* Marche a moitié, voir moins */

Heu comme ça là, je vois pas. Tant que tu n'as qu'un thread... Et ton thread principal, tu as essayé de le faire attendre dans un premier temps ?. Un WaitForSingleObject juste après le CreateThread. Pour être sûr que la cause n'est pas le thread principal qui vient interférer. Une CRT mono thread ou autre chose.
0
Rejoignez-nous