我使用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到发送方节点是正确的?
答案 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 )。