心跳class

This commit is contained in:
jasonchenwork 2025-06-17 09:23:56 +08:00
parent a1d7ce97a2
commit 68501300a6

View File

@ -14,12 +14,43 @@ namespace HeartbeatSender
{
private readonly HttpClient httpClient = new HttpClient();
private string token;
private string heartbeatUrl;
private string token_heartbeatUrl;
private string init_heartbeatUrl;
public heartbeatSender(string heartbeatUrl)
public heartbeatSender()
{
this.heartbeatUrl = heartbeatUrl;
LoadHeartbeatUrls("txt/HeartBeat.txt");
}
/// <summary>
/// 讀取URL
/// </summary>
/// <param name="filePath">路徑</param>
private void LoadHeartbeatUrls(string filePath)
{
if (!File.Exists(filePath))
{
Console.WriteLine("找不到 HeartBeat.txt");
return;
}
string[] lines = File.ReadAllLines(filePath);
foreach (string line in lines)
{
if (line.StartsWith("init:"))
{
init_heartbeatUrl = line.Substring("init:".Length).Trim();
}
else if (line.StartsWith("token:"))
{
token_heartbeatUrl = line.Substring("token:".Length).Trim();
}
}
Console.WriteLine("init URL: " + init_heartbeatUrl);
Console.WriteLine("token URL: " + token_heartbeatUrl);
}
public static string GetLocalIPv4()
{
foreach (var ip in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
@ -33,7 +64,8 @@ namespace HeartbeatSender
}
public async Task<bool> LoginAndGetTokenAsync()
{
var loginUrl = "http://zqd.superstar.dnsnet.cc/api/room/receiveRegister";
// init_heartbeat
//var loginUrl = "http://zqd.superstar.dnsnet.cc/api/room/receiveRegister";
string hostName = System.Net.Dns.GetHostName();
var loginPayload = new
@ -50,7 +82,7 @@ namespace HeartbeatSender
try
{
var response = await httpClient.PostAsync(loginUrl, content);
var response = await httpClient.PostAsync(init_heartbeatUrl, content);
response.EnsureSuccessStatusCode();
var responseJson = await response.Content.ReadAsStringAsync();
@ -97,8 +129,9 @@ namespace HeartbeatSender
var json = JsonSerializer.Serialize(heartbeatData);
var content = new StringContent(json, Encoding.UTF8, "application/json");
heartbeatUrl = "http://zqd.superstar.dnsnet.cc/api/room/heartbeat";
var request = new HttpRequestMessage(HttpMethod.Post, heartbeatUrl);
// token_heartbeat
// heartbeatUrl = "http://zqd.superstar.dnsnet.cc/api/room/heartbeat";
var request = new HttpRequestMessage(HttpMethod.Post, token_heartbeatUrl);
request.Content = content;
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
// Console.WriteLine("送出的 JSON");