定时器时间反映在模拟时间中

Timer time reflected in simulation time

我想初始化一个 5 秒计数器并发送一条消息。如果在 5 秒结束之前收到响应消息,则计时器会中断并采取措施。然而,如果计时器结束并且没有收到消息,将采取另一个行动。

我想设置一个常量"timer = 5"并在"For"循环中用"IF"递减它,但是所花费的时间不会被记录为模拟时间。

如何让这个实现反映模拟时间?

正如您正确指出的那样,OMNeT++ 中的每个事件都被假定为零时间。如果您希望某个事件导致某事在未来几秒钟内发生,您将需要让该事件安排另一个事件,例如,OMNeT++ 内置 scheduleAt 或 [ 的 Veins 5a2 便捷方法=11=] class(示例参见 VeinsInetSampleApplication)。