2017-01-29 59 views
0

我有Wireshark文件,裏面有幾個packets。 從用戶和通過command line arguments我從用戶得到2參數: 1. Number of packet to add。 2. delay如何計算2點之間的時間

現在第一packet後,我需要補充的packets數用戶指定,這packets之間的延遲需要是delay值,但這種延遲需要所有packets之間分配。

例如: 用戶發送的數字1508所以第一packet我需要添加陸續149新packets(應該是250個分組總數)和所有這packets需要之間的延遲爲8 milliseconds。 從這第一個數據包我有這timestamp財產(DateTime對象) 因此,對於每個timestamp我需要添加53.33 microseconds

所以這是我函數獲取第packet

INT numberOfpackets; int delay;

private static DateTime GetNewTimeStamp(packet packet) 
{ 
    DateTime newTimeStamp = packet.timeStamp; 
} 

如何添加根據從用戶這兩個參數,建立新的timestamp(時間不事只有延遲)?

回答

0

可以使用DateTime.Add(TimeSpan)方法將具有指定偏移量的新DateTime對象返回給當前實例。

對於TimeSpan對象,您需要指定Ticks中的時間量,因爲其他構造函數的解析度僅下降到毫秒。 您可以使用TimeSpan.FromTicks(Long)來獲得這樣一個TimeSpan,其中1個滴答等於100納秒。

+0

但是,我如何確定毫秒/微秒,每個數據包之間的毫微秒量? – user979033

+0

您將總延遲除以包裝數量,就像您在開幕式中所做的一樣?只需將用戶的毫秒延遲先轉換爲納秒,然後再將結果除以100即可獲得所需數量的刻度。我沒有看到問題。 –

相關問題