fix: 恢复1.20版SaaS连接核心代码,修复Agent无法连接SaaS服务器问题

问题根因:1.21代码优化时误删了SaaS连接核心组件
- 误删 MultiTargetNettyClient.java (Netty TCP客户端)
- 误删 ConnectionConfig.java (连接配置封装)
- 误改 AgentNettyConfig 配置前缀从 netty.server 改为 tcp.netty.charge
- 误删 AppInitializer 中的SaaS连接初始化逻辑
- 误删 AgentService 中的 connection() 等接口方法
- 误增 AgentNettyServer.java (1.20中不存在的服务端类)

修复内容(从1.20原版JAR反编译恢复):
- 恢复 MultiTargetNettyClient: Bootstrap.connect() 主动连接SaaS服务器
- 恢复 ConnectionConfig: 连接配置封装类
- 恢复 AgentNettyConfig: @ConfigurationProperties(prefix = "netty.server")
- 恢复 AppInitializer: CommandLineRunner.run() 调用 initConnection()
- 恢复 AgentService/AgentServiceImpl: connection()方法及全部业务接口
- 恢复 MachineFingerprint: 硬件指纹生成工具类
- 恢复 application-dev.yml: netty.server.host/port 配置
- 删除 AgentNettyServer.java (1.21错误新增)
- 删除旧 AgentNettyConfig.java (tcp.netty.charge 前缀)

部署验证:39.96.218.1 已成功连接SaaS服务器 120.211.95.173:6620
This commit is contained in:
lee
2026-07-22 15:50:03 +08:00
parent 546eef3372
commit ff7cd12fd7
21 changed files with 973 additions and 191 deletions
@@ -240,4 +240,46 @@ public class AgentUtil {
return swapped;
}
/**
* 将字符串数组按行写入文件
*/
public static void bufferedWriter(String filePath, String[] lines) {
try (java.io.BufferedWriter writer = new java.io.BufferedWriter(new java.io.FileWriter(filePath))) {
for (String line : lines) {
writer.write(line);
writer.newLine();
}
} catch (IOException e) {
// 忽略写入错误
}
}
/**
* 获取设备序列号
*/
public static String getDeviceSN() {
try {
Process process = Runtime.getRuntime().exec("cat /proc/cpuinfo");
java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
if (line.contains("Serial")) {
String[] parts = line.split(":");
if (parts.length > 1) {
return parts[1].trim();
}
}
}
reader.close();
} catch (Exception e) {
// 忽略错误
}
// 回退到主机名
try {
return java.net.InetAddress.getLocalHost().getHostName();
} catch (Exception e) {
return "unknown-device";
}
}
}