2017-01-29 3 views
0

Ich habe Wireshark Datei mit mehreren packets innerhalb. Von Benutzer und über command line arguments ich bekomme vom Benutzer 2 Argumente: 1. Number of packet to add. 2. delay.So berechnen Sie die Zeit zwischen 2 Punkten

nun nach dem ersten packet ich benötige Anzahl von packets hinzuzufügen, die der Benutzer angeben, und die Verzögerung zwischen diesem packets müssen den delay Wert, aber diese Verzögerung Notwendigkeit, zwischen allen packets geteilt sein.

Zum Beispiel: Der Benutzer die Nummern senden 150 und 8 so nach dem ersten packet ich brauche dieses packets (sollte 250 Pakete insgesamt) und die Verzögerung zwischen alle brauchen eine weitere 149 neue packets hinzufügen 8 milliseconds zu sein. Von diesem ersten Paket habe ich diese timestamp Eigenschaft (DateTime Objekt) So für jede timestamp muss ich 53,33 microseconds hinzufügen.

Also das ist meine Funktion, die die erste packet bekommt:

int numberOfpackets; int Verzögerung;

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

Wie kann ich bauen neue hinzufügen timestamp (die Zeit keine Rolle, nur die Verzögerung) dieses Bild 2 Argumente vom Benutzer nach?

Antwort

0

Sie können die Methode DateTime.Add(TimeSpan) verwenden, um ein neues DateTime-Objekt mit dem angegebenen Offset an die aktuelle Instanz zurückzugeben.

Für das TimeSpan-Objekt müssen Sie die Zeit in Ticks angeben, da die Auflösung der anderen Konstruktoren nur in Millisekunden liegt. Sie können TimeSpan.FromTicks(Long) verwenden, um eine solche TimeSpan zu erhalten, wobei 1 Tick gleich 100 Nanosekunden ist.

+0

Aber wie kann ich die Menge von Millisekunden/Mikrosekunden, Nanosekunden zwischen jedem Paket bestimmen? – user979033

+0

Sie teilen die gesamte Verzögerung durch die Anzahl der Pakete, wie Sie es in Ihrem ersten Post getan haben? Konvertieren Sie einfach die Millisekundenverzögerung des Benutzers zuerst in Nanosekunden und teilen Sie dann das Ergebnis durch 100, um die erforderliche Anzahl von Ticks zu erhalten. Ich sehe das Problem nicht. –

Verwandte Themen