如何在OMNeT ++中存储不同的数据包时间戳

时间:2015-06-25 16:55:02

标签: c++ networking omnet++

我是OMNeT ++的新手。我正在做一个简单的模拟,客户端将一些数据包发送到服务器。例如,我希望存储发送的第一个数据包的时间戳,之后,我希望存储发送的第十个数据包的时间戳。我希望能够将这两个时间戳存储在两个变量timestamp_of_first_packettimestamp_of_last_packet中,有点像

packets_sent = 1
cPacket* testPacket = new cPacket();
double timestamp_of_first_packet = testPacket->getTimestamp().dbl();
packets_sent++;
... 
double timestamp_of_last_packet = testPacket->getTimestamp().dbl();

目的是计算两个数据包之间的时间间隔,使用以下公式:

double time_interval = timestamp_of_last_packet - timestamp_of_first_packet;

我知道这个方法是错误的,因为两个变量都存储相同的值。 我如何正确存储两个时间戳?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以通过调用simTime()来获取当前的模拟时间。如果您想要一些时间来传递模拟,请让您的模块为自己安排一个事件(使用scheduleAt)。请记住,您的模块是用C ++编写的,因此您可以使用其所有功能(如成员变量)来编写干净的代码。