【发布时间】:2017-07-21 23:18:28
【问题描述】:
我开发了移动节点的模拟器,每个节点的传输范围例如为100m。节点之间的通信是基于无线和 TDMA 的。 我注意到如果 2 个节点(不在同一范围内)同时广播消息,则会导致问题。
如何限制从节点发送的 nessage 的距离?这样我可以同时广播 2 个或更多消息,并且只有发送节点范围内的节点才能听到消息?
【问题讨论】:
我开发了移动节点的模拟器,每个节点的传输范围例如为100m。节点之间的通信是基于无线和 TDMA 的。 我注意到如果 2 个节点(不在同一范围内)同时广播消息,则会导致问题。
如何限制从节点发送的 nessage 的距离?这样我可以同时广播 2 个或更多消息,并且只有发送节点范围内的节点才能听到消息?
【问题讨论】:
处理数据包接收的代码应计算与发送方的距离,如果超出范围则丢弃数据包。
一个不太准确的解决方案:在发送数据包之前,广播节点应该检查到潜在接收节点的距离,如果超出范围就不发送数据包。这有点快(因为它生成的数据包更少)并且更清晰(您只会看到实际传递的数据包的广播动画)
一个更简单的解决方案:使用 INET Framework,它已经具有必要的实现。您只需要实现一个处理 TDMA 协议的 MAC 模块。
【讨论】: