关于UDP发送数据
我和设备直接用网线相连。发数据到设备去。我发了二个UDP数据包(一个发的大小是99B,第二个是40B(大小是30-50B都可能))。但是利用网络监控软件,发现第一个没有监测到,然后在网络监控软件里发现变成了 ARP请求,然后设备回了一个ARP 响应,再接着就是我发的第二个40B的UDP包.然后再次发送(发 99B, 40B)正常,然后间隔几分钟后再次发送时,第一个数据包在网络监控软件上发现变成了ARP请求。请问这种问题(UDP数据包变成ARP请求了)怎么解决哦。
我和设备直接用网线相连。发数据到设备去。我发了二个UDP数据包(一个发的大小是99B,第二个是40B(大小是30-50B都可能))。但是利用网络监控软件,发现第一个没有监测到,然后在网络监控软件里发现变成了 ARP请求,然后设备回了一个ARP 响应,再接着就是我发的第二个40B的UDP包.然后再次发送(发 99B, 40B)正常,然后间隔几分钟后再次发送时,第一个数据包在网络监控软件上发现变成了ARP请求。请问这种问题(UDP数据包变成ARP请求了)怎么解决哦。
自己检测,没有发送到就重发,udp本身就是不可靠的...........
////////////////////
在程序里,ntemp = sendto(...., nSendLen, ...)
这里的nSendLen和ntemp 相等的。...可能只有发送 空(功能上)数据包了。
这是网络发送前必须要做的工作。ARP表要及时更新的。
我在程序里检测了sendto了的,比如说我要发送3B的数据发现sendto返回值是3.但是我用软件抓包工具,并没有数据包出去啊。只是这个时候发现变成了ARP请求了。
怎么更新的ARP表?
即使是IP不正确,但是也应该出网口啊。用的UDP呢。
因为只是第一次发出去的数据变成ARP了。以后能够发出去。