C#用於實現心跳機制的定時器Demo

1 定時器

Timer的一些屬性和方法:

屬性與方法 說明
start() 將Enabled設置爲true,開始引發事件
Stop() 將Enabled設置爲false,停止引發事件
Close() 釋放佔用的資源
AutoRest 循環引發還是隻引發一次
Enabled 提示Timer是否引發事件
Intervel 獲取和設置引發事件的間隔時間,單位爲毫秒
  • Timer由線程池實現,Tick和main不在同一個線程。
using System;
using System.Timers;


class MainClass
{
    static int count = 0;
    static void Main(string[] args)
    {
        Console.WriteLine("Hello Timer!!!");
        Timer timer = new Timer();
        timer.AutoReset = true;//循環引發
        timer.Interval = 2000;//2秒一次
        timer.Elapsed += new ElapsedEventHandler(Tick);//綁定引發的事件
        timer.Start();//開始引發
        Console.Read();//不讓控制檯窗口關閉
        timer.Stop();//停止引發
        timer.Close();//釋放資源
    }
    public static void Tick(object sender, System.Timers.ElapsedEventArgs e)
    {
        Console.WriteLine("心跳:"+count++);
    }
}

2 運行結果

在這裏插入圖片描述

3 總結

      心跳機制規定客戶端每隔一段時間給服務端發送一個特定信號,服務端會記錄客戶端最後一次發送心跳信號的時間,如果相隔太久,便認爲客戶端已經斷開,於是斷開連接。服務端開一個每秒執行的定時器,將遍歷所有連接,並判斷連接的心跳時間。而心跳機制的實現就是這裏所說的定時器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章