我需要在Omnet++中实现定时器。场景:有2个节点(比如A和B(。节点A向节点B发送消息。然后需要启动计时器。如果在特定时间段内没有接收到来自节点B的任何消息,则连接应该结束。
在OMNeT++
中,计时器是计划在将来使用scheduleAt()
在该模块中触发的消息。该消息被称为";"自消息";并且它用于实现";计时器";。当self-message发生时,会调用handleMessage()
,就像调用任何其他消息一样
简而言之:要实现自消息,应该:
- 声明并创建
cMessage
的实例 - 使用以下方式安排邮件:
scheduleAt(simTime() + somePeriod, someMessage)
其中simTime()
返回当前模拟时间。
- 在
handleMessage()
中识别该自消息,例如使用isSelfMessage()
,并调用所需代码
此外,看看TicToc的例子:TicTocDomentation-3.6建模处理延迟