【问题标题】:Sent acks are received by multiple nodes in Veins-4a2 using prepareWSM methodVeins-4a2 中的多个节点使用 prepareWSM 方法接收发送的确认
【发布时间】:2017-02-23 15:54:10
【问题描述】:

我使用 OMNeT++-4.6、sumo-0.22.0 和 Veins-4a2。

在我的场景中,当 RSU 接收到来自节点的消息时,它使用 prepareWSM 方法发送 ACK:

sendWSM(prepareWSM("ack", ackLengthBits, type_SCH, ackPriority, senderId , 2))

因此,RSU 向作为消息的发送者节点的 senderID 发送一个 ACK​​。

在我的日志文件中,我注意到有一些节点——不仅是原始发送者节点——接收到这个 ACK​​。

我需要知道 prepareWSM 方法是否将 ACK 扩散到遇到的所有节点,或者我所做的仅将 ACK 发送到发送方节点的操作是否正确?

【问题讨论】:

    标签: omnet++ veins


    【解决方案1】:

    虽然您可以为 WaveShortMessage 设置接收器地址,但它在 Mac1609_4.cc(第 178 行以下)中被忽略,因为最初在 C2X 通信中仅使用广播传输:

    //send the packet
    Mac80211Pkt* mac = new Mac80211Pkt(pktToSend->getName(), pktToSend->getKind());
    mac->setDestAddr(LAddress::L2BROADCAST);
    

    要实现您想要的确认系统,您必须检查您在 APP 层收到的每条消息的收件人地址,并忽略不是发往您地址 (myId) 的消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 2012-10-13
      • 2013-11-21
      • 1970-01-01
      • 2018-12-01
      • 2020-07-31
      相关资源
      最近更新 更多