使用prepareWSM方法,Veins-4a2中的多个节点接收已发送的ack

时间:2017-02-23 15:54:11

标签: omnet++ veins

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

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

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

因此,RSU向senderID发送ACK,该ID是消息的发送方节点。

在我的日志文件中,我注意到有一些节点 - 不仅是原始发送方节点 - 接收到此ACK。

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

1 个答案:

答案 0 :(得分:3)

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

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

要实现您希望的确认系统,您必须检查在APP图层中收到的每封邮件的收件人地址,并忽略未发送到您的地址的邮件( myId )。