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