Bonjour,
Je fait un softphone SIP qui réalise un hard handover de sa station wifi actuelle vers une nouvelle.
Après le handover est un simple script supprimant la configuration IP sur la carte wifi, puis qui effectue l'attachement vers un essid connu, et reconfigure statiquement une @ IP (pas de serveur DHCP).
Je souhaite émettre des paquets SIP sur ce nouveau réseau wifi, mais pour cela il faut que je détecte la fin de l'attachement sur la station wifi et ceci rapidement.
Actuellement je fait ceci dans un thread :
J'ai un délais moyen de 6 - 7 ms, et je cherche à le réduire, mais je ne sais pas comment.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int sortie = 0; while(sortie == 0) { system("iwconfig ath0 | grep \"Access Point\" > chemin_vers_un_fichier.txt"); /* Récupération du contenu du fichier. */ /* Détection de la valeur d'Access Point */ /* Si la valeur d'Access Point est une mac adresse valide (pas 00:00:00:00 ou Not Associated) je met sortie à 1*/ } sortie = 0;
En fait je voudrais changer de méthode et par exemple récupérer un trigger remonté au noyeau pour signaler l'attachement.
Je sais qu'avec les socket netlink je peux faire ce genre de chose, mais je ne maitrise pas le sujet. Pour tout dire, je ne travail pas seul sur le projet, et un des membres de l'équipe à travailler un peu pour faire une fonction qui détecte l'ajout d'une IP sur une interface avec NetLink, mais pour lui, NetLink n'est pas adapté pour détecter l'attachement.
Est ce quelqu'un aurait une piste ? Pas forcément une solution, mais un ou deux mots qui me permettrais de faire des recherches. Parce que "c detecter attachement reseau" cela ne donne pas grand chose sur google
Le tout est d'avoir une solution plus rapide que 6 - 7 ms, et < à 1ms si possible.
Merci d'avance pour vos réponses.
Partager