0
我试图发送ACK到节点时,我收到消息从RSU到节点发送的ACK。我能够获得帧ID,无法弄清楚如何将这个帧ID包含在我的消息中并进行广播?任何指针?这将是有益的。谢谢。在静脉
更新:这是我正在尝试做的,当在函数BaseWaveApplLayer :: handleLowerMsg中的RSU收到一条消息时,我正在提取帧ID并发送Ack。我正面临的问题是在使用sendDown时,我收到错误,表示事件已计划发送。如何正确安排消息?我正在使用sendDown(味精)。
,我没有得到正确的帧ID,我用encapsulatedFrame ID,但它给了不同的价值,我如何才能从frameid或BasicSafetyMessage cMessage派生而来?
代码:
void BaseWaveApplLayer::handleLowerMsg(cMessage* msg) {
WaveShortMessage* wsm = dynamic_cast<WaveShortMessage*>(msg);
ASSERT(wsm);
if (BasicSafetyMessage* bsm = dynamic_cast<BasicSafetyMessage*>(wsm)) {
receivedBSMs++;
onBSM(bsm);
if(isBaseStation())
{
BasicSafetyMessage* Ack= new BasicSafetyMessage();
populateWSM(Ack);
Ack->setWsmData(getFrameId(bsm));
EV<<" Sending Ack Frame ID"<<getFrameId(bsm);
sendDown(Ack);
}
else
{
EV<<"Received FrameId"<<bsm->getWsmData();
std::string str(bsm->getWsmData());
int FrameId= std::atoi(str.c_str());
checkIds(FrameId);
}
}}
喜@朱利安 - heinovski,因为我使用的脉,我打电话populateWSM(WSM)功能,我改变WSM数据接收到的frameId。我面临的问题是发送此消息。创建此消息后,我调用sendDown,但当我单击Run时,我的应用程序崩溃。 – Sam1324
请使用此信息和相应的代码和错误消息片段更新您的帖子。 –
嗨,这是我想做的事,当RSU接收的功能BaseWaveApplLayer消息:: handleLowerMsg我提取帧ID和发送的讯息。我正面临的问题是在使用sendDown时出现错误,表示已经计划发送消息。如何正确安排消息?我是usD sendDown(味精)。 – Sam1324