Veins-4a2 中的多个节点使用 prepareWSM 方法接收发送的确认

Sent acks are received by multiple nodes in Veins-4a2 using prepareWSM method

我使用 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 发送到发送方节点的做法是否正确?

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

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

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