Mozi.StateService基于 .NET 開發(fā)的 UDP 心跳組件
Mozi.StateService是一個(gè)基于.Net開發(fā)的UDP心跳組件,基于UDP Socket開發(fā),主要面向終端檢活場(chǎng)景。一般的TCP/UPD心跳包,僅僅包含特殊的字節(jié)片段,沒有業(yè)務(wù)承載能力。
特點(diǎn)
自行設(shè)計(jì)了一套緊湊的心跳協(xié)議,該協(xié)議僅僅包含必備要素。包括:協(xié)議版本,設(shè)備名,設(shè)備號(hào),終端程序版本,終端用戶名。
功能模塊
-
HeartBeatService 心跳客戶端
終端調(diào)用此組件,定時(shí)向服務(wù)器發(fā)送在線通知。 -
HeartBeatGateway 心跳網(wǎng)關(guān)
接收終端心跳信息,并檢查終端在線狀態(tài)管理。網(wǎng)關(guān)負(fù)責(zé)接收心跳數(shù)據(jù),統(tǒng)計(jì)心跳數(shù)據(jù),并轉(zhuǎn)發(fā)數(shù)據(jù)到訂閱者 -
HearBeatSubScriber 心跳訂閱者 向服務(wù)器訂閱心跳信息,訂閱者為已知訂閱者,客戶端不可隨意訂閱,訂閱者必須由網(wǎng)關(guān)主動(dòng)添加到訂閱者列表。
程序下載
dotnet add package Mozi.StateService --version 1.2.6
使用說明
static HeartBeatGateway hg = new HeartBeatGateway();
static void Main(string[] args)
{
//開啟狀態(tài)服務(wù)
HeartBeatService state = new HeartBeatService()
{
Port = 13453,
RemoteHost = $"{port}"
};
state.ApplyDevice("Mozi", "80018001", "1.2.5");
state.SetState(ClientLifeState.Alive);
state.Init();
state.Activate();
//切換終端狀態(tài)
state.SetState(ClientLifeState.Idle);
//心跳服務(wù)網(wǎng)關(guān)
hg.OnClientStateChange += Hg_OnClientStateChange;
hg.Start(13453);
Console.ReadLine();
}
評(píng)論
圖片
表情
