123下一页
查看: 321|回复: 23

[IOS] HShare1.0.0(鸿蒙与win用usb隧道远程)

[复制链接]

545

主题

0

回帖

906

积分

UID
4
贡献
9 点
钻石
99 个
C币
8 个
发表于 2026-7-13 13:03:00 | 显示全部楼层 |阅读模式
为什么会有这个项目

我平时主要用鸿蒙电脑工作,但有些 Windows 独占的软件还是绕不开,所以经常需要远程桌面到 Windows 台式机。

之前一直用的常规远程方案:Windows 开 RDP,鸿蒙端装个 RDP 客户端,走公司 WiFi 连。听起来没问题吧?

但实际体验很痛苦——公司人多,同一个 WiFi 下几十上百号人,一到上班高峰期,远程桌面就卡成 PPT:画面延迟几秒钟、操作不跟手、时不时断开重连。无线网络的本质决定了这不是换个软件能解决的。

后来想过用有线局域网,但工位没有预埋网线,拉一根长网线也不现实。

那还有什么物理链路是现成的?

USB 线啊。USB 本身就是高速串行总线,USB 3.0 的理论带宽到 5Gbps,延迟微秒级,而且专线专用——不受任何网络拥塞影响。

基本原理

鸿蒙系统自带的 hdc(HarmonyOS Device Connector)工具,本质上就是一个调试桥,类似 Android 的 ADB。它有一个非常实用的功能叫 rport(反向端口转发),可以把设备上的端口映射到电脑本地。

整个链路非常简单:

┌─────────────────┐     USB 数据线      ┌──────────────────┐

│  鸿蒙设备         │ ════════════════    │  Windows 电脑     │

│  (手机/平板/PC)  │        │           │                  │

│                  │       │           │  HShareTunnel    │

│  HShare App      │       │           │  (自动 hdc rport)│

│  ↓               │       │           │  ↓               │

│  127.0.0.1:3389  │◄──────┴──────────│  127.0.0.1:3389  │

│  (RDP 客户端)    │   hdc rport 隧道  │  (Windows RDP 服务)│

└─────────────────┘                    └──────────────────┘

数据流:

USB 数据线连接鸿蒙设备和 Windows 电脑

Windows 端运行 hdc rport tcp:3389 tcp:3389,把本机的 3389 端口反向映射到鸿蒙设备

鸿蒙设备上的 HShare App(或任何 RDP 客户端)连接 127.0.0.1:3389

数据全程通过 USB 物理链路传输,不经过任何网络设备

关键点:127.0.0.1:3389 对鸿蒙设备来说已经是本地回路地址了——因为 hdc rport 会把端口映射到设备自身的 localhost。这就是「USB 隧道」的通俗含义。

HShare 是什么

HShare 是为这个场景专门做的一个项目,包含两部分:

1. HShare App(鸿蒙端)

一个原生 HarmonyOS 应用(API 22,ArkTS + NAPI),主要功能:

USB 隧道引导 — 一步步引导用户开启 USB 调试、配置环境

隧道检测 — 自动扫描 127.0.0.1:3389 是否已就绪

内嵌 RDP 客户端 — 基于原生 C++ 实现的 RDP 协议栈,一键连接,不需要装第三方 RDP 软件

连接管理 — 断开/重连/状态监控

2. HShareTunnel(Windows 端)

一个 .NET 控制台工具,在 Windows 上运行,自动完成:

检测同目录下的 hdc.exe

连接鸿蒙设备

自动建立 hdc rport tcp:3389 tcp:3389 隧道

每 5 秒刷新检测连接状态

关于 hdc: hdc 是 HarmonyOS SDK 自带的工具。如果你装了 DevEco Studio,在 SDK 目录的 openharmony/toolchains/ 下就能找到 hdc.exe。也可以把 hdc.exe 和 libusb_shared.dll 提取出来放在 HShareTunnel.exe 同目录下。

硬核细节(给开发者看)

RDP 协议实现

HShare 的 RDP 客户端是自包含的 C 实现,不依赖 FreeRDP 或任何第三方 RDP 库:

功能        状态

TCP/X.224 传输层        ✅ 已完成

RDP Negotiation (RDP_NEG_REQ/RSP)        ✅ 已完成

Fast-Path Input (键盘/鼠标/滚轮)        ✅ 已完成

NAPI 桥接 (8 个 JS 接口)        ✅ 已完成

ArkTS 集成 (import + 状态管理)        ✅ 已完成

MCS Connect/GCC 完整协商        🔧 进行中

Security / Capability 协商        🔧 进行中

画面帧渲染 (XComponent)        📋 待实现

操作步骤(完整版)前提条件一套配齐需要:

一台 HarmonyOS 设备(手机/平板/PC,API 22+,即 HarmonyOS 6.0+)

一台 Windows 电脑(已开启远程桌面服务)

一根 USB 数据线

hdc 工具(可从 DevEco Studio SDK 提取)

第一步:Windows 端开启远程桌面

打开「设置」→「系统」→「远程桌面」

开启「启用远程桌面」

记下电脑名(后面连接会用到)

第二步:连接 USB 并开启调试

用 USB 数据线连接鸿蒙设备和 Windows 电脑

在鸿蒙设备上:设置 → 关于 → 版本号,连续点击 7 次直到提示「已进入开发者模式」

返回 设置 → 系统和更新 → 开发者选项

打开 USB 调试 开关

如果电脑上弹出授权弹窗,勾选「一律允许」并确认

第三步:建立隧道(Windows 端操作)

有两种方式:

方式 A:使用 HShareTunnel.exe(推荐)

把 HShareTunnel.exe、hdc.exe、libusb_shared.dll 放到同一目录

双击运行 HShareTunnel.exe

看到 ✅ hdc rport 隧道已建立 的提示即成功

方式 B:手动操作

打开 CMD(命令提示符)

进入 hdc.exe 所在目录

依次执行:

hdc list targets

hdc rport tcp:3389 tcp:3389

看到 Forwarding tcp:3389 to tcp:3389 success 即成功

第四步:鸿蒙端连接

方式 A:使用 HShare App

打开 HShare App

切换到「USB 隧道连接」标签确认隧道状态显示「已连接」

切换到「RDP 远程控制」标签

点击「启动 RDP 连接」

使用第三方 RDP 客户端 连接地址填:127.0.0.1:3389

推荐客户端:

AirDRP — 纯血鸿蒙 RDP 客户端

第五步:日常使用

隧道建立后,只要不拔 USB 线、不关闭 CMD 窗口,隧道会一直保持。你可以随时在 HShare App 里断开或重连 RDP。

如果断开后需要重连,在 CMD 中按 Ctrl+C 停止,再重新执行 hdc rport tcp:3389 tcp:3389 即可。

效果怎样

画面流畅度:USB 链路的延迟远低于 WiFi,鼠标拖动几乎零延迟

稳定性:不受任何网络波动影响,会议室、高峰时段都没问题

安全性:数据只走 USB 线缆,不经过公司网络,不用担心被嗅探

即插即用:USB 线插上就跑,不需要配 IP、不需要连 WiFi

局限性

需要 USB 数据线连接,不是无线的(有舍有得)

需要 Windows 开启远程桌面(大多数 Windows 专业版/企业版自带,家庭版需额外开启)

需要开发者模式 + USB 调试(建议日常使用时保持开启)

项目状态

目前是早期开发阶段,核心框架已就绪,RDP 协议实现在逐步完善中。

软件下载:

没有上架应用商店,需要小白调试助手侧载安装(自行百度安装)

文件:里面有鸿蒙安装软件包和win运行程序

通过百度网盘分享的文件:HShare

链接:https://pan.baidu.com/s/1QzM9DZDdGNnqESDweKPt-g?pwd=1234

提取码:1234

复制这段内容打开「百度网盘APP即可获取」
温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!
回复

使用道具 举报

0

主题

390

回帖

45

积分

UID
481551
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-7-17 17:27:29 | 显示全部楼层
写得挺细致的,能看出是实操过的。
回复

使用道具 举报

0

主题

346

回帖

43

积分

UID
296568
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-7-21 15:42:17 | 显示全部楼层
感谢整理,这类总结省了别人很多时间。
回复

使用道具 举报

0

主题

390

回帖

53

积分

UID
737295
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-7-25 13:57:05 | 显示全部楼层
整体框架挺好,细节上还能再展开。
回复

使用道具 举报

0

主题

374

回帖

45

积分

UID
772827
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-7-27 23:20:59 | 显示全部楼层
这篇值得慢慢看,我准备再读第二遍。希望能再展开讲讲某个细节。
回复

使用道具 举报

0

主题

377

回帖

0

积分

UID
958922
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-7-31 14:30:36 | 显示全部楼层
收藏了,正好最近在研究相关的。
回复

使用道具 举报

0

主题

383

回帖

0

积分

UID
382547
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-8-3 04:52:07 | 显示全部楼层
信息量挺足的,看了一遍还想再看一遍。
回复

使用道具 举报

0

主题

385

回帖

41

积分

UID
404479
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-8-6 05:08:52 | 显示全部楼层
内容挺扎实的,不是那种拼凑出来的。
回复

使用道具 举报

0

主题

350

回帖

350

积分

UID
799658
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-8-8 15:57:48 | 显示全部楼层
这个话题最近讨论得挺多,但像这样讲清楚的少。
回复

使用道具 举报

0

主题

359

回帖

0

积分

UID
908569
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-8-11 04:54:17 | 显示全部楼层
这个案例很有代表性,能说明不少问题。
回复

使用道具 举报

温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!
123下一页
您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ客服返回顶部