Bonjour,
J'ai un programme qui intercept les paquets sur une ip(de l'une de mes cartes réseaux) sous windows.
SOCKET sock;
if((sock socket(AF_INET, SOCK_RAW, IPPROTO_IP)) INVALID_SOCKET)
{
printf("\n[!]Impossible de creer le socket.\n--- Erreur avec socket() : %d\n\n", WSAGetLastError());
system("pause");
return 0;
}
je voulais lorsque je reçois rien au bout de quelque seconde mon programme se ferme, j'ai ajouter un time out
struct timeval tv;
tv.tv_sec = 1;
tv.tv_usec =500;
if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO,(char *)&tv, sizeof(tv))!=0)
///
///
nbrepacket=recv(sock, packet, sizeof(packet), 0);
if(nbrepacket<0)
{
///0 paquet reçu
//Traitement avant fermeture
exit(-1);
}
mais ça foncionne pas, en faite lorsque je change mon adresse Ip le programme doit se fermer puisque il recoit plus de paquet!
Help :(