我是OMNeT ++的新手。我正在做一个简单的模拟,客户端将一些数据包发送到服务器。例如,我希望存储发送的第一个数据包的时间戳,之后,我希望存储发送的第十个数据包的时间戳。我希望能够将这两个时间戳存储在两个变量timestamp_of_first_packet
和timestamp_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;
我知道这个方法是错误的,因为两个变量都存储相同的值。 我如何正确存储两个时间戳?提前谢谢。
答案 0 :(得分:0)
您可以通过调用simTime()来获取当前的模拟时间。如果您想要一些时间来传递模拟,请让您的模块为自己安排一个事件(使用scheduleAt)。请记住,您的模块是用C ++编写的,因此您可以使用其所有功能(如成员变量)来编写干净的代码。