From 68501300a64e116396930fc13c846b01ea2a7430 Mon Sep 17 00:00:00 2001 From: jasonchenwork Date: Tue, 17 Jun 2025 09:23:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=83=E8=B7=B3class?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HeartbeatSender.cs | 47 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/HeartbeatSender.cs b/HeartbeatSender.cs index e92fb7a..8278b25 100644 --- a/HeartbeatSender.cs +++ b/HeartbeatSender.cs @@ -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"); } + /// + /// 讀取URL + /// + /// 路徑 + 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 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:");