From f79e5daa471046b00efa06d34f0f5dda214350b4 Mon Sep 17 00:00:00 2001 From: liyi Date: Wed, 12 Feb 2025 11:00:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=B0=83=E6=95=B4=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E5=9F=9F=E5=90=8D=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/talk/starChart/star_chart_manage.dart | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/talk/starChart/star_chart_manage.dart b/lib/talk/starChart/star_chart_manage.dart index 75e11da7..59a6b410 100644 --- a/lib/talk/starChart/star_chart_manage.dart +++ b/lib/talk/starChart/star_chart_manage.dart @@ -894,17 +894,16 @@ class StartChartManage { /// 解析 UDP URL 并提取 IP 地址和端口号 Map _parseUdpUrl(String url) { - // 使用正则表达式匹配 IP 地址和端口号 - final regex = RegExp(r'udp://(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d+)') - .firstMatch(url); + // 修改正则表达式以匹配 IP 地址或域名 + final regex = RegExp(r'udp://([a-zA-Z0-9.-]+):(\d+)').firstMatch(url); if (regex != null) { - final ip = regex.group(1); + final host = regex.group(1); final portStr = regex.group(2); final port = int.tryParse(portStr ?? ''); - if (ip != null && port != null) { - return {'host': ip, 'port': port}; + if (host != null && port != null) { + return {'host': host, 'port': port}; } } throw FormatException('无法解析 URL 格式: $url');