Bonjour !
J'ai besoin, pour implementer un timeout dans l'attente d'un paquet reseau ( en l'occurence on s'en fout mais ct juste pour dire) pour en renvoyer un autre, d'utiliser les signaux.
Donc je fais ceci :
Code :
- signal(SIGALRM, onalarm );
- alarm(10);
- recvfrom(...divers param...);
- signal(SIGALRM,SIG_IGN);
|
le recvfrom est bloquant, cad que l'execution va se bloquer ici etattendre un paquet du reseau.
Si y a rien au bout de 10 secondes je dois en renvoyer un et retourner a mon attente.
Je file donc la fonction onalarm en parametre a signal.
Probleme : Pour envoyer un paquet, faut une adresse IP, un port...
Y a t'il moyen de la passer en parametre a la fonction onalarm pour que l'envoi se passe bien ?
Pour l'instant j;ai foutu l'adresse IP et le port en variable globale, mais je trouve ca moche... je voulais savoir si il y avait un autre moyen ( avec alarm ou sans ).
Merci d'avance...
---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !