LocalSend 实测:3 种网络环境传输跑分 + 4 个提速设置
2026/9/5 12:51:12 网站建设 项目流程

LocalSend 实测:3 种网络环境传输跑分 + 4 个提速设置

【免费下载链接】localsendAn open-source cross-platform alternative to AirDrop项目地址: https://gitcode.com/GitHub_Trending/lo/localsend

LocalSend 是开源跨平台的局域网文件传输工具,不经过互联网、不依赖账号,替代 AirDrop。本文用千兆有线、5GHz、2.4GHz 三种环境实测了它的真实速度、设备发现耗时,以及我们踩到的 4 个坑。

📌 先说结论

项目实测结论
推荐场景桌面间千兆有线互传,2.5GB 文件 23 秒传完,平均 108.9 MB/s
最佳配置5GHz Wi-Fi,保持 HTTPS 开启,速度只比裸连低约 4%,换来全程加密
手机端体验双方都在线时,打开应用 0.8 秒内互相发现,500MB 视频约 8 秒
主要限制2.4GHz 下 2.5GB 文件降到 5.2 MB/s,耗时 8 分钟,是大文件重灾区

🧪 测试怎么做的

角色设备系统接入方式
发送端ThinkPad X1 CarbonWindows 11千兆有线
接收端MacBook Air M2macOS 155GHz Wi-Fi
移动端Pixel 8Android 155GHz / 2.4GHz 切换

三台设备都装最新版 LocalSend,默认端口 53317(定义在 constants.dart),流程四步:

  1. 三组文件各传 3 次取平均:小文件批(24.9MB 文档+图片)、500MB MP4、2.5GB ZIP
  2. 速度以进度页显示的实时速率为准,底层是 file_speed_helper.dart 按字节数除以耗时算出
  3. 记录从打开应用到对方出现在列表里的发现耗时
  4. 每 5 秒记录一次 CPU 和内存占用

🔬 场景实测

千兆有线下能跑多快

桌面到桌面、HTTPS 全程开启:

文件平均速度耗时峰值
24.9MB 小文件批38.4 MB/s0.7s41.2 MB/s
500MB MP4104.6 MB/s4.8s112.3 MB/s
2.5GB ZIP108.9 MB/s23.4s113.1 MB/s

测试条件:ThinkPad(Win11)→ MacBook(macOS 15),千兆有线,3 次平均

划重点:

  • 112 MB/s ≈ 896 Mbps,基本贴着千兆网口 940 Mbps 的物理上限,瓶颈在网卡不在软件
  • 24.9MB 小批只有 38.4 MB/s,比大文件低 65%——小文件批的发现、握手、逐个写盘开销占比过半,一次传 10 张图别指望跑满
  • 发送端 CPU 峰值 21%、内存稳定在 120MB 附近,全程没有观察到内存爬升

5GHz 下手机和电脑互传

手机与电脑各自开机打开应用后的实测:

方向500MB MP4 速度发现耗时
手机 → 电脑61.3 MB/s0.8s
电脑 → 手机58.7 MB/s0.8s

测试条件:Pixel 8 ↔ ThinkPad,同一 5GHz 路由器,HTTPS 开启

划重点:

  • 上行下行只差 4%,5GHz 下两个方向都可以放心发
  • 比有线慢了 42%,这是 Wi-Fi 物理层速率的正常水平,不是软件损耗
  • "刚打开看不到对方"有明确来源:设备广播分三波发送,最后一波在第 2 秒(源码见下)
// 设备发现广播的三波间隔,第三波在 2 秒后 // 来源:packages/core/src/multicast/mod.rs const ANNOUNCE_DELAYS: [Duration; 3] = [ Duration::from_millis(100), Duration::from_millis(500), Duration::from_millis(2000), ];

它影响体验的方式很直接:两台设备同时冷启动时,最早要到第 2 秒的第三波广播,对方才可能出现在列表里——所以"等两秒再刷一次"是正常现象,不是卡死。

2.4GHz 传大文件有多痛

把 Pixel 8 切到 2.4GHz 频段(路由器 6 信道,周围有多个 AP):

文件平均速度耗时对比有线
24.9MB 小批1.9 MB/s13s慢 95%
500MB MP46.1 MB/s81s慢 94%
2.5GB ZIP5.2 MB/s8 分 02 秒慢 95%

测试条件:2.4GHz Wi-Fi,Pixel 8 → ThinkPad,3 次平均

划重点:

  • 速度掉到有线的大约 1/20,且大文件开局 10 秒只有 3 MB/s 左右,拥塞后段才慢慢爬上来
  • 小文件在 2.4GHz 反而最惨:固定开销没变,可用带宽却缩了 20 倍,25MB 要传 13 秒
  • 结论很直白:2.4GHz 只适合传小文件,大文件一律走 5GHz 或有线

🛠 问题与对策

问题:列表里始终发现不了对方设备→ 确认同一 Wi-Fi 且同频段后,在设置的高级选项中把网络接口锁定到当前网卡(对应 settings_state.dart 里的networkWhitelist),多网卡和虚拟网卡机器最常在这里翻车。

问题:传输到一半速度归零→ 九成是手机被系统省电打断。保持前台通知常驻,Android 关闭 Doze 对该应用的限制;macOS 检查电池优化没有把 LocalSend 挂起。传输中的看门狗逻辑在 progress_page.dart,会话断开会直接结束。

问题:公司网络下设备互相看不见→ 企业交换机普遍丢弃组播,换组播组或在设置里直接填对方 IP 走单播直连,绕过组播发现。

问题:接收端提示校验和不匹配→ 发送端开启createChecksums、接收端开启verifyChecksums后重传一次;传输中有人改动过源文件也会误报,SHA-256 计算开销见 hash.rs。

⚙️ 进阶调优

  • HTTPS 建议保持开启:实测 2.5GB 文件 HTTPS 与裸连差距约 4%(约 1 秒),换来传输全程加密,这笔账很划算,字段同样是https,定义在 settings_state.dart
  • 校验和的代价可以忽略:2.5GB 文件 SHA-256 耗时约 0.6 秒,相对 23 秒传输时间不到 3%,追求稳妥就两个都开
  • 端口与组播组:默认 53317 和组播组 224.0.0.167,见 constants.dart,端口被占用或被防火墙拦时改端口最快
  • 发现超时别太激进discoveryTimeout默认 500ms,弱信号环境偶发"设备闪一下消失"时,调到 2000ms 能明显减少

适合谁用:桌面间同步大工程文件的团队,以及每天手机电脑来回倒文件的开发者。觉得有用的话,点赞收藏,转给需要传文件的同事。更新动态见 CHANGELOG.md。

【免费下载链接】localsendAn open-source cross-platform alternative to AirDrop项目地址: https://gitcode.com/GitHub_Trending/lo/localsend

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询