Timer C #. Startet, stoppt und ermittelt die Zeitspanne zwischen den Aufrufen [duplizieren]
Mögliche Duplikate:
Wie kann man messen, wie lange eine Funktion läuft?
Ich schreibe einen UDP-Chat mit zuverlässiger Datenübertragung. Ich muss einen Timer starten, wenn ein Paket gesendet wird, und ihn stoppen, sobald er eine Antwort vom Server erhält (ACK - Acknowledgement).
Hier ist mein Code:
private void sendButton_Click(object sender, EventArgs e)
{
Packet snd = new Packet(ack, textBox1.Text.Trim());
textBox1.Text = string.Empty;
Smsg = snd.GetDataStream();//convert message into array of bytes to send.
while (true)
{
try
{ // Here I need to Start a timer!
clientSock.SendTo(Smsg, servEP);
clientSock.ReceiveFrom(Rmsg, ref servEP);
//Here I need to stop a timer and get elapsed amount of time.
Packet rcv = new Packet(Rmsg);
if (Rmsg != null && rcv.ACK01 != ack)
continue;
if (Rmsg != null && rcv.ACK01 == ack)
{
this.displayMessageDelegate("ack is received :"+ack);
ChangeAck(ack);
break;
}
Vielen Dank.