多个终端对着一个路由器点播,出现重包现象
时间:10-02
整理:3721RD
点击:
多个终端对着一个路由器点播,出现重包现象;抓包显示路由器再有应答的情况下依然重发,导致终端在应用层收到两个一样的数据包。
我的程序写法:在接收到上一个的数据包应答以后发送下一个数据包,不断发送。
解决过程:1.去掉终端轮询没有解决。
猜想:可能是数据碰撞的问题,假设三个设备分别是EA,EB,和R。
如果在R给EA发送ack的同时,EB向R发送数据包。会不会导致数据碰撞。
会出现数据碰撞的。
虽然路由有发ACK出去,但是有可能是终端没有收到的,所以会再次发送。
数据发送密集的时候,问题会比较严重
3个问题:
本人使用2006协议栈,我是在收到ack以后,就发送下一个包。
1.假如在数据包和应答包碰撞时,数据碰撞导致Router未接收到应答,为什么不会导致丢包,仅仅只是重包,zigbee内部没有数据过滤吗?
2.怎么解决这个问题?
3.zigbee不是有防数据碰撞机制?事先检测信道是否空闲。