From 67d3588267e44a49192cf27d629ee3309ae7bc41 Mon Sep 17 00:00:00 2001 From: jasonchenwork Date: Mon, 7 Apr 2025 13:26:47 +0800 Subject: [PATCH] Debug:external port for QR code --- HttpServer.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/HttpServer.cs b/HttpServer.cs index 5c30254..4b137c4 100644 --- a/HttpServer.cs +++ b/HttpServer.cs @@ -69,7 +69,8 @@ namespace DualScreenDemo // 將本地前綴添加到 HttpListener,使其監聽該 URL listener.Prefixes.Add(localPrefix); - + string hostName = System.Net.Dns.GetHostName(); + string externalPort = '1' + hostName.Substring(Math.Max(2, hostName.Length - 20)); // 如果有外网地址,也添加外网地址前缀 if (!string.IsNullOrEmpty(externalAddress)) @@ -78,8 +79,7 @@ namespace DualScreenDemo // 外網 IP 和 port 調整 string[] parts = externalAddress.Split(':'); string host = parts[0]; - string hostName = System.Net.Dns.GetHostName(); - string externalPort = '1' + hostName.Substring(Math.Max(2, hostName.Length - 20)); + //int externalPort = parts.Length > 1 ? int.Parse(parts[1]) : port; string externalPrefix = String.Format("http://{0}:{1}/", host, externalPort); @@ -102,10 +102,10 @@ namespace DualScreenDemo // 修改外网二维码内容生成 string externalQrContent = !string.IsNullOrEmpty(externalAddress) ? - String.Format("http://{0}/{1}/windows.html", externalAddress, randomFolderName) : + String.Format("http://{0}:{1}/{2}/windows.html", externalAddress, externalPort, randomFolderName) : localQrContent; - + Console.WriteLine("local QR Content : " + localQrContent); Console.WriteLine("external QR Content : " + externalQrContent); // 生成二维码(这里使用外网地址的二维码,因为通常外网地址更有用) string qrImagePath = GenerateQRCode(externalQrContent, Path.Combine(baseDirectory, randomFolderName, "qrcode.png"));