PC ping通网卡的条件是什么呢? PC 发送arp 请求 问谁是192.168.0.200
if(BUF->type == htons(UIP_ETHTYPE_ARP)) //收到的是ARP数据 调用ARP处理
{
uip_arp_arpin();
if(uip_len > 0)
{
tapdev_send();
}
}
else if(BUF->type == htons(UIP_ETHTYPE_IP)) //收到的是IP数据,调用IP处理函数来处理
{
uip_arp_ipin();
uip_input();
if(uip_len > 0)
{
uip_arp_out();
tapdev_send();
}
}
else if(timer_expired(&periodic_timer)) //查看0.5S时间是否到时,到了调用uip_periodic处理 TCP超时函数
{
timer_reset(&periodic_timer);
for(i = 0; i < UIP_CONNS; i++)
{
uip_periodic(i); //执行此句 uip_len 被清空
if(uip_len > 0)
{
uip_arp_out();
tapdev_send();
}
} |