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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage