У меня проблема с симуляцией вен, когда я пытаюсь отправить BSM с модулем RSU, и появляется ошибка:
"scheduleAt (): маяк сообщения (omnetpp :: cMessage) evt в настоящее время запланирован, используйте cancelEvent () перед изменением графика - в модуле (TraCIDemoRSU11p) "
Я пытался использовать разные методы (такие как sendDelayedDown и sendDown) и даже cancelEvent, но это был единственный способ, что сообщения отправлялисьот RSU до появления ошибки.
Этот фрагмент кода находится на модуле RSU.
void TraCIDemoRSU11p::createAndSendBSM(std::string xml)
{
BasicSafetyMessage* bsm = new BasicSafetyMessage();
bsm->setXMLBSM(xml);
scheduleAt(simTime(), bsm);
}
Код, присутствующий на узлах транспортных средств, немного отличается и работает безпроблемы:
void TraCIDemo11p::createAndSendBSM(std::string xml)
{
BasicSafetyMessage* bsm = new BasicSafetyMessage();
bsm->setXMLBSM(xml);
populateWSM(bsm);
sendDown(bsm);
scheduleAt(simTime()+1, sendBeaconEvt);
}
Насколько я понимаю, модуль пытается отправить сообщение до того, как последний прибудет в пункт назначения, однако я не знаю, как это исправить, или это правильнопуть.Заранее спасибо!