如何在Omnet++中实现定时器



我需要在Omnet++中实现定时器。场景:有2个节点(比如A和B(。节点A向节点B发送消息。然后需要启动计时器。如果在特定时间段内没有接收到来自节点B的任何消息,则连接应该结束。

OMNeT++中,计时器是计划在将来使用scheduleAt()在该模块中触发的消息。该消息被称为";"自消息";并且它用于实现";计时器";。当self-message发生时,会调用handleMessage(),就像调用任何其他消息一样
简而言之:要实现自消息,应该:

  1. 声明并创建cMessage的实例
  2. 使用以下方式安排邮件:

scheduleAt(simTime() + somePeriod, someMessage)
其中simTime()返回当前模拟时间。

  1. handleMessage()中识别该自消息,例如使用isSelfMessage(),并调用所需代码

此外,看看TicToc的例子:TicTocDomentation-3.6建模处理延迟

最新更新