Appearance
🌉 StEthTether(以太网桥接)模块 · 开发者指南
🧠 模块介绍
StEthTether(以太网桥接)模块,用于灵活管理以太网与WLAN桥接、桥接配置、子网设备监控等,适合企业级网络批量运维与自动化场景。
🛠️ PanelSDK 初始化
java
// 推荐在 Application 或 Activity 中初始化,确保全局唯一
PanelSDK panelSDK = new PanelSDK(this);🧩 核心方法 · 专业解读
➕ addBrLans — 添加桥接LAN
java
int addBrLans(String[] lans)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| lans | String[] | 待添加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)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| lans | String[] | 待删除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)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| enable | boolean | true启用,false关闭 |
| ethName | String | 以太网名称 |
返回值说明
| 返回值 | 说明 |
|---|---|
| 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)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| ethName | String | 以太网名称 |
返回值说明
| 返回值 | 说明 |
|---|---|
| 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)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| ethName | String | 以太网名称 |
返回值说明
| 返回值 | 说明 |
|---|---|
| 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)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| observer | IStSubnetDevObserver | 监听器 |
| ethName | String | 以太网名称 |
典型场景代码
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)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| observer | IStSubnetDevObserver | 监听器 |
| ethName | String | 以太网名称 |
典型场景代码
java
// 注销子网设备监听器
panelSDK.unregisterObserver(observer, "eth0");
Log.d("StEthTether", "子网设备监听器已注销");🛠️ setEthTetherConfig — 设置以太网桥接配置
java
int setEthTetherConfig(StEthTetherConfig config, String ethName)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| config | StEthTetherConfig | 桥接配置对象 |
| ethName | String | 以太网名称 |
返回值说明
| 返回值 | 说明 |
|---|---|
| 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 模块让你的设备网络更灵活、更高效!
