From 58f60d418ecb4dd685129a5a4eccd1451c295c85 Mon Sep 17 00:00:00 2001 From: Yohann0617 <852221040@qq.com> Date: Wed, 25 Dec 2024 21:54:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E4=B8=BB=E9=A1=B5?= =?UTF-8?q?=E4=BB=AA=E8=A1=A8=E7=9B=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocihelper/config/MetricsWebSocketHandler.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/yohann/ocihelper/config/MetricsWebSocketHandler.java b/src/main/java/com/yohann/ocihelper/config/MetricsWebSocketHandler.java index 04788c9..aa44496 100644 --- a/src/main/java/com/yohann/ocihelper/config/MetricsWebSocketHandler.java +++ b/src/main/java/com/yohann/ocihelper/config/MetricsWebSocketHandler.java @@ -1,6 +1,7 @@ package com.yohann.ocihelper.config; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import cn.hutool.jwt.JWTUtil; import com.yohann.ocihelper.exception.OciException; @@ -152,13 +153,12 @@ private void execGenTrafficData(String token) { SystemInfo systemInfo = new SystemInfo(); List networkIFs = systemInfo.getHardware().getNetworkIFs(); - NetworkIF networkIF = null; - for (NetworkIF x : networkIFs) { - if (x.getName().startsWith("eth3")) { - networkIF = x; - break; - } - } + NetworkIF networkIF = networkIFs.stream() + .filter(NetworkIF::isConnectorPresent) // 必须是有物理连接 + .filter(iface -> !Arrays.asList(iface.getIPv4addr()).isEmpty() || !Arrays.asList(iface.getIPv6addr()).isEmpty()) // 必须有 IP 地址 + .filter(iface -> iface.getName().startsWith("e")) + .min((a, b) -> Long.compare(b.getSpeed(), a.getSpeed())) // 找到第一个匹配的网卡 + .orElse(null); // 如果没有匹配,返回 null if (null != networkIF) { networkIF.updateAttributes();