Skip to content

🌉 StEthTether(以太网桥接)模块 · 开发者指南


🧠 模块介绍

StEthTether(以太网桥接)模块,用于灵活管理以太网与WLAN桥接、桥接配置、子网设备监控等,适合企业级网络批量运维与自动化场景。


🛠️ PanelSDK 初始化

java
// 推荐在 Application 或 Activity 中初始化,确保全局唯一
PanelSDK panelSDK = new PanelSDK(this);

🧩 核心方法 · 专业解读

➕ addBrLans — 添加桥接LAN

java
int addBrLans(String[] lans)
参数说明
参数类型说明
lansString[]待添加LAN列表
返回值说明
返回值说明
0添加成功
其他失败
典型场景代码
java
// 添加桥接LAN
String[] lans = {"lan1", "lan2"};
int result = panelSDK.addBrLans(lans);
if (result == 0) {
    // ✅ 添加成功
    Log.d("StEthTether", "成功添加" + lans.length + "个桥接LAN");
} else {
    // ❌ 添加失败
    Log.e("StEthTether", "添加失败,错误码: " + result);
}

➖ delBrLans — 删除桥接LAN

java
int delBrLans(String[] lans)
参数说明
参数类型说明
lansString[]待删除LAN列表
返回值说明
返回值说明
0删除成功
其他失败
典型场景代码
java
// 删除桥接LAN
String[] lans = {"lan1"};
int result = panelSDK.delBrLans(lans);
if (result == 0) {
    // ✅ 删除成功
    Log.d("StEthTether", "成功删除" + lans.length + "个桥接LAN");
} else {
    // ❌ 删除失败
    Log.e("StEthTether", "删除失败,错误码: " + result);
}

🔌 enableEthTether — 启用/关闭以太网桥接

java
int enableEthTether(boolean enable, String ethName)
参数说明
参数类型说明
enablebooleantrue启用,false关闭
ethNameString以太网名称
返回值说明
返回值说明
0操作成功
其他失败
典型场景代码
java
// 启用以太网桥接
int result = panelSDK.enableEthTether(true, "eth0");
if (result == 0) {
    // ✅ 启用成功
    Log.d("StEthTether", "以太网桥接已启用");
} else {
    // ❌ 启用失败
    Log.e("StEthTether", "启用失败,错误码: " + result);
}

🌐 getAllEthsAndWLans — 获取所有以太网与WLAN

java
String[] getAllEthsAndWLans()
返回值说明
返回值说明
String[]所有以太网与WLAN名称
典型场景代码
java
// 获取所有以太网和WLAN
String[] networks = panelSDK.getAllEthsAndWLans();
if (networks != null && networks.length > 0) {
    // ✅ 获取成功
    Log.d("StEthTether", "网络数量: " + networks.length);
    for (String net : networks) {
        Log.d("StEthTether", "网络: " + net);
    }
} else {
    // ⚠️ 无网络或获取失败
    Log.w("StEthTether", "无网络或获取失败");
}

🏗️ getBrLans — 获取桥接LAN列表

java
String[] getBrLans()
返回值说明
返回值说明
String[]当前桥接LAN列表
典型场景代码
java
// 获取桥接LAN列表
String[] lans = panelSDK.getBrLans();
if (lans != null && lans.length > 0) {
    // ✅ 获取成功
    Log.d("StEthTether", "桥接LAN数量: " + lans.length);
    for (String lan : lans) {
        Log.d("StEthTether", "LAN: " + lan);
    }
} else {
    // ⚠️ 无桥接LAN或获取失败
    Log.w("StEthTether", "无桥接LAN");
}

🖧 getEthSubDevList — 获取以太网子设备列表

java
List<StEthTetherSubDev> getEthSubDevList(String ethName)
参数说明
参数类型说明
ethNameString以太网名称
返回值说明
返回值说明
List<StEthTetherSubDev>子设备列表
典型场景代码
java
// 获取以太网子设备列表
List<StEthTetherSubDev> devices = panelSDK.getEthSubDevList("eth0");
if (devices != null && !devices.isEmpty()) {
    // ✅ 获取成功
    Log.d("StEthTether", "子设备数量: " + devices.size());
    for (StEthTetherSubDev dev : devices) {
        Log.d("StEthTether", "设备: " + dev.toString());
    }
} else {
    // ⚠️ 无子设备或获取失败
    Log.w("StEthTether", "无子设备");
}

⚙️ getEthTetherConfig — 获取以太网桥接配置

java
StEthTetherConfig getEthTetherConfig(String ethName)
参数说明
参数类型说明
ethNameString以太网名称
返回值说明
返回值说明
StEthTetherConfig桥接配置对象
典型场景代码
java
// 获取以太网桥接配置
StEthTetherConfig config = panelSDK.getEthTetherConfig("eth0");
if (config != null) {
    // ✅ 获取成功
    Log.d("StEthTether", "桥接配置: " + config.toString());
} else {
    // ⚠️ 获取失败
    Log.w("StEthTether", "获取桥接配置失败");
}

🎯 getEthTetherDestinations — 获取桥接目标

java
String[] getEthTetherDestinations()
返回值说明
返回值说明
String[]桥接目标名称列表
典型场景代码
java
// 获取桥接目标列表
String[] destinations = panelSDK.getEthTetherDestinations();
if (destinations != null && destinations.length > 0) {
    // ✅ 获取成功
    Log.d("StEthTether", "桥接目标数量: " + destinations.length);
    for (String dest : destinations) {
        Log.d("StEthTether", "目标: " + dest);
    }
} else {
    // ⚠️ 无桥接目标或获取失败
    Log.w("StEthTether", "无桥接目标");
}

📶 getEthTetherState — 获取桥接状态

java
int getEthTetherState()
返回值说明
返回值说明
0关闭
1启用
其他失败
典型场景代码
java
// 获取桥接状态
int state = panelSDK.getEthTetherState();
if (state == 1) {
    // ✅ 桥接已启用
    Log.d("StEthTether", "以太网桥接已启用");
} else if (state == 0) {
    // ⚠️ 桥接已关闭
    Log.w("StEthTether", "以太网桥接已关闭");
} else {
    // ❌ 获取失败
    Log.e("StEthTether", "获取状态失败,错误码: " + state);
}

👁️ registerObserver — 注册子网设备监听

java
void registerObserver(IStSubnetDevObserver observer, String ethName)
参数说明
参数类型说明
observerIStSubnetDevObserver监听器
ethNameString以太网名称
典型场景代码
java
// 注册子网设备监听器
IStSubnetDevObserver observer = new IStSubnetDevObserver() {
    @Override
    public void onSubnetDeviceChanged(List<StEthTetherSubDev> devices) {
        // 子网设备变化回调
        Log.d("StEthTether", "子网设备已变化,数量: " + devices.size());
    }
};
panelSDK.registerObserver(observer, "eth0");
Log.d("StEthTether", "子网设备监听器已注册");

🚫 unregisterObserver — 注销子网设备监听

java
void unregisterObserver(IStSubnetDevObserver observer, String ethName)
参数说明
参数类型说明
observerIStSubnetDevObserver监听器
ethNameString以太网名称
典型场景代码
java
// 注销子网设备监听器
panelSDK.unregisterObserver(observer, "eth0");
Log.d("StEthTether", "子网设备监听器已注销");

🛠️ setEthTetherConfig — 设置以太网桥接配置

java
int setEthTetherConfig(StEthTetherConfig config, String ethName)
参数说明
参数类型说明
configStEthTetherConfig桥接配置对象
ethNameString以太网名称
返回值说明
返回值说明
0设置成功
其他失败
典型场景代码
java
// 设置以太网桥接配置
StEthTetherConfig config = new StEthTetherConfig();
// 配置相关参数
config.setIpAddress("192.168.1.1");
config.setNetmask("255.255.255.0");

int result = panelSDK.setEthTetherConfig(config, "eth0");
if (result == 0) {
    // ✅ 设置成功
    Log.d("StEthTether", "桥接配置设置成功");
} else {
    // ❌ 设置失败
    Log.e("StEthTether", "设置失败,错误码: " + result);
}

⚡ 专业进阶 · 技术要点

所有方法均为同步调用,返回值可直接判断结果,适合批量自动化脚本。 推荐在具备系统权限的环境下调用,部分功能需 Root 或系统签名。 依赖底层 StEthTetherManager,请确保相关依赖已集成并兼容目标设备。 支持企业级批量桥接策略下发、子网设备实时监控。


🏆 专业总结

只需一个 PanelSDK 实例,以太网桥接与子网监控一站式搞定。无论是批量运维、网络自动化还是安全隔离,StEthTether 模块让你的设备网络更灵活、更高效!