我正在使用OMNET++Framework INET4.0。如何在自定义移动模块中创建一个每秒触发的计时器,以便AdhocHost每次触发计时器事件时我都可以移动我的计时器?
OMNeT++ 自我消息中有计时器。
为了实现您的目标,您应该创建一个cMessage对象,使用 安排它scheduleAt(),然后在handleMessage()每次到期时重新安排它。
例如:
// somewhere in simple module class declaration (*.h)
simtime_t timerInterval;
cMessage * timer;
// in initialize()
timerInterval = 1.0; // one second
timer = new cMessage("one second timer");
scheduleAt(simTime() + timerInterval, timer);
// in handleMessage()
if (msg == timer) {
// do something
scheduleAt(simTime() + timerInterval, timer); // rescheduling
}
// in finish()
cancelAndDelete(timer);
Run Code Online (Sandbox Code Playgroud)
OMNeT++,尤其是在 Tictoc 中。