如何停止在Omnet ++

时间:2016-06-05 06:51:28

标签: omnet++ packets transmission

我想停止在其间传输数据包,并希望在一段时间后再次开始传输。另外,我想计算总模拟时间(停止前,停止期间和恢复后) 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

这是“How to change a parameter value over time?”问题的变体。

假设您希望在到达时间(300毫秒)到达时间之间发送0到20秒之间的数据包。在20s你想停止发送数据包,然后再次恢复发送数据包60s,但到达时间(200ms)。

对于易失性参数,您可以使用? :运算符(已链接)和simTime() NED函数根据实际模拟时间更改返回的到达间隔时间:

**.interArrivalTime = simTime() < 20s ? exponential(300ms) : 
  simTime() < 60s ? 60s-simTime() : exponential(200ms)

有趣的部分是60s-simTime()表达式,它实际上以一种方式返回到达间隔时间,即下一个数据包将在60s时生成(即simTime() + (60s-simTime())