我现在正在编写一个应该能够动态选择和切换 802.11 频道的程序。多个线程可以使用共享的 802.11 无线电。目标是让一个线程在切换信道之前锁定无线电,然后传输一个数据包,最后在数据包成功传输出 802.11 NIC 或永久丢弃后解锁无线电。
但是我找不到方法来知道数据包是否已经从网卡中传输出来,或者它仍然在主机的某个地方。我在 Ubuntu 上用 C 语言编程。我使用 UDP 套接字发送数据包。从“sendto”成功返回并不表示数据包已成功从硬件传输出去。
谁能指出一种从 802.11 接收数据包传递状态通知的方法?综上所述,我想在广播模式下,当数据包已经从网卡传输出去时,以及当数据包被另一端成功接收或在单播模式下被永久丢弃时接收通知。
任何答案将不胜感激!