1. 你使用UDP作为探测包,但被探测的主机不在网络上。
在发送UDP packet之前,LwIP要将其保存下来(分配一个RAM类型的pbuf),并首先发送ARP Request,但得不到回应。如果你的LwIP App按一定间隔循环发送UDP探测包会怎样?LwIP会保存所有待发送UDP packet吗?这显然会很快耗尽内存。实际上LwIP只为每个ARP保留最近一个与之关联的上层协议包(see etharp.c)。
2024-03-08 16:43:40
1. 你使用UDP作为探测包,但被探测的主机不在网络上。
在发送UDP packet之前,LwIP要将其保存下来(分配一个RAM类型的pbuf),并首先发送ARP Request,但得不到回应。如果你的LwIP App按一定间隔循环发送UDP探测包会怎样?LwIP会保存所有待发送UDP packet吗?这显然会很快耗尽内存。实际上LwIP只为每个ARP保留最近一个与之关联的上层协议包(see etharp.c)。